// 引入vue实例
import Vue from './instance/index'
// 引入全局api
import { initGlobalAPI } from './global-api/index'
// 引入环境处理方法
import { isServerRendering } from 'core/util/env'
// 引入vdom方法
import { FunctionalRenderContext } from 'core/vdom/create-functional-component'
// 第一步:初始化vue全局方法
initGlobalAPI(Vue)
// 第二步:增加服务端标识
Object.defineProperty(Vue.prototype, '$isServer', {
get: isServerRendering
})
// 第四步:增加ssr标识
Object.defineProperty(Vue.prototype, '$ssrContext', {
get () {
/* istanbul ignore next */
return this.$vnode && this.$vnode.ssrContext
}
})
//第五步: expose FunctionalRenderContext for ssr runtime helper installation
Object.defineProperty(Vue, 'FunctionalRenderContext', {
value: FunctionalRenderContext
})
// 第六步:设置vue版本
Vue.version = '__VERSION__'
// 第七步:导出vue
export default Vue
Vue源码学习--入口文件分析
最新推荐文章于 2024-08-07 22:02:39 发布