Vue 源码-入口

150 阅读1分钟

vue版本:v2.7.10

本篇将继续解析Vue入口源码,选取的是vue.min.js的源码入口,路径为

src/platforms/web/entry-runtime-with-compiler.ts

image.png

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为编译器相关代码。

运行时和编译器后续将拆分成多篇文章继续研究。