aboutsummaryrefslogtreecommitdiff
path: root/node_modules/vue/src/platforms/web/runtime/index.js
diff options
context:
space:
mode:
authorruki <waruqi@gmail.com>2018-11-08 00:38:48 +0800
committerruki <waruqi@gmail.com>2018-11-07 21:53:09 +0800
commit26105034da4fcce7ac883c899d781f016559310d (patch)
treec459a5dc4e3aa0972d9919033ece511ce76dd129 /node_modules/vue/src/platforms/web/runtime/index.js
parent2c77f00f1a7ecb6c8192f9c16d3b2001b254a107 (diff)
downloadxmake-docs-26105034da4fcce7ac883c899d781f016559310d.tar.gz
xmake-docs-26105034da4fcce7ac883c899d781f016559310d.zip
switch to vuepress
Diffstat (limited to 'node_modules/vue/src/platforms/web/runtime/index.js')
-rw-r--r--node_modules/vue/src/platforms/web/runtime/index.js77
1 files changed, 77 insertions, 0 deletions
diff --git a/node_modules/vue/src/platforms/web/runtime/index.js b/node_modules/vue/src/platforms/web/runtime/index.js
new file mode 100644
index 00000000..1283f521
--- /dev/null
+++ b/node_modules/vue/src/platforms/web/runtime/index.js
@@ -0,0 +1,77 @@
+/* @flow */
+
+import Vue from 'core/index'
+import config from 'core/config'
+import { extend, noop } from 'shared/util'
+import { mountComponent } from 'core/instance/lifecycle'
+import { devtools, inBrowser, isChrome } from 'core/util/index'
+
+import {
+ query,
+ mustUseProp,
+ isReservedTag,
+ isReservedAttr,
+ getTagNamespace,
+ isUnknownElement
+} from 'web/util/index'
+
+import { patch } from './patch'
+import platformDirectives from './directives/index'
+import platformComponents from './components/index'
+
+// install platform specific utils
+Vue.config.mustUseProp = mustUseProp
+Vue.config.isReservedTag = isReservedTag
+Vue.config.isReservedAttr = isReservedAttr
+Vue.config.getTagNamespace = getTagNamespace
+Vue.config.isUnknownElement = isUnknownElement
+
+// install platform runtime directives & components
+extend(Vue.options.directives, platformDirectives)
+extend(Vue.options.components, platformComponents)
+
+// install platform patch function
+Vue.prototype.__patch__ = inBrowser ? patch : noop
+
+// public mount method
+Vue.prototype.$mount = function (
+ el?: string | Element,
+ hydrating?: boolean
+): Component {
+ el = el && inBrowser ? query(el) : undefined
+ return mountComponent(this, el, hydrating)
+}
+
+// devtools global hook
+/* istanbul ignore next */
+if (inBrowser) {
+ setTimeout(() => {
+ if (config.devtools) {
+ if (devtools) {
+ devtools.emit('init', Vue)
+ } else if (
+ process.env.NODE_ENV !== 'production' &&
+ process.env.NODE_ENV !== 'test' &&
+ isChrome
+ ) {
+ console[console.info ? 'info' : 'log'](
+ 'Download the Vue Devtools extension for a better development experience:\n' +
+ 'https://github.com/vuejs/vue-devtools'
+ )
+ }
+ }
+ if (process.env.NODE_ENV !== 'production' &&
+ process.env.NODE_ENV !== 'test' &&
+ config.productionTip !== false &&
+ typeof console !== 'undefined'
+ ) {
+ console[console.info ? 'info' : 'log'](
+ `You are running Vue in development mode.\n` +
+ `Make sure to turn on production mode when deploying for production.\n` +
+ `See more tips at https://vuejs.org/guide/deployment.html`
+ )
+ }
+ }, 0)
+}
+
+export default Vue