做了Vdom
initRender函数
给vm添加了_c和 $createElement用来渲染的方法
state
if (!(key in vm)) {
proxy(vm, `_props`, key)
}给vue属性做代理,访问this.a可以得到this.data.a 的值
export function initState (vm: Component) {
vm._watchers = [] const opts = vm.$options
if (opts.props) initProps(vm, opts.props)
if (opts.methods) initMethods(vm, opts.methods)
if (opts.data) {
initData(vm)
} else {
observe(vm._data = {}, true /* asRootData */)
}
if (opts.computed) initComputed(vm, opts.computed)
if (opts.watch && opts.watch !== nativeWatch) {
initWatch(vm, opts.watch)
}
}给数据做监听
stateMixin函数
添加原型对象
Vue.prototype.$set = set
Vue.prototype.$delete = del其他
src/compiler 做了编译处理
core/componetd 做了keep-alive
core/util 封装了通用方法
core/vdom vdom算法
以上整体架构分析完毕











