UNPKG

vue

Version:

Reactive, component-oriented view layer for modern web interfaces.

68 lines (59 loc) 1.96 kB
/* @flow */ import Vue from 'core/index' import config from 'core/config' import { extend, noop } from 'shared/util' import { devtools, inBrowser, isEdge } from 'core/util/index' import { patch } from 'web/runtime/patch' import platformDirectives from 'web/runtime/directives/index' import platformComponents from 'web/runtime/components/index' import { query, isUnknownElement, isReservedTag, getTagNamespace, mustUseProp } from 'web/util/index' // install platform specific utils Vue.config.isUnknownElement = isUnknownElement Vue.config.isReservedTag = isReservedTag Vue.config.getTagNamespace = getTagNamespace Vue.config.mustUseProp = mustUseProp // 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 // wrap mount Vue.prototype.$mount = function ( el?: string | Element, hydrating?: boolean ): Component { el = el && inBrowser ? query(el) : undefined return this._mount(el, hydrating) } if (process.env.NODE_ENV !== 'production' && inBrowser && 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` ) } // devtools global hook /* istanbul ignore next */ setTimeout(() => { if (config.devtools) { if (devtools) { devtools.emit('init', Vue) } else if ( process.env.NODE_ENV !== 'production' && inBrowser && !isEdge && /Chrome\/\d+/.test(window.navigator.userAgent) ) { console[console.info ? 'info' : 'log']( 'Download the Vue Devtools extension for a better development experience:\n' + 'https://github.com/vuejs/vue-devtools' ) } } }, 0) export default Vue