🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
>[success] # minVue 打包入口 ~~~ 1.在这个入口文件,将会定义Vue 一些原型方法,为何 Vue 不用 ES6 的 Class 去实现 并把`Vue`当参数传入, 而是定义个个功能,这些功能将 Vue 的 prototype 上扩展一些方法,Vue 按功能把这些扩展分散到多个模块中去实现, 而不是在一个模块里实现所有,这种方式是用 Class 难以实现的。这么做的好处是非常方便代码的维护和管理。 ~~~ [代码仓库地址](https://gitee.com/duckking/studyminvue) >[danger] ##### 代码说明 ~~~ import { initMixin } from './init' import { renderMixin } from './render'; import { lifecycleMixin } from './lifecycle'; import { initGlobalAPI } from './initGlobalAPI/index'; function Vue(opitions) { this._init(opitions) } /* 初始化vue 1.数据做响应代理 2. 对dom 模板的解析 */ initMixin(Vue) // 将render 函数 转换成虚拟dom renderMixin(Vue); // 通过虚拟dom 创建真实的dom生命周期 lifecycleMixin(Vue); // 初始化全局api 静态方法 initGlobalAPI(Vue) export default Vue ~~~