vue版本:v2.7.10
本篇将继续解析Vue入口源码,选取的是vue.min.js的源码入口,路径为
src/platforms/web/entry-runtime-with-compiler.ts
entry-runtime-with-compiler.ts
import Vue from './runtime-with-compiler'
import * as vca from 'v3'
import { extend } from 'shared/util'
extend(Vue, vca)
import { effect } from 'v3/reactivity/effect'
Vue.effect = effect
export default Vue
在入口文件中,v3(组合式API)被扩展至Vue构造函数中,$mount函数被覆盖,增加了template编译功能。组合式API将在后续拆分为独立的篇章继续研究。
runtime-with-compiler.ts
import Vue from './runtime/index'
import { compileToFunctions } from './compiler/index'
...
const mount = Vue.prototype.$mount
Vue.prototype.$mount = function(){...}
...
Vue.compile = compileToFunctions
export default Vue as GlobalAPI
其中./runtime/index
为运行时相关代码,./compiler/index
为编译器相关代码。
运行时和编译器后续将拆分成多篇文章继续研究。