Vue发布的文件中,分两个版本,一个是完整版,一个是运行时版本。
区别
Vue完整版 | Vue非完整版 | 评价 | |
---|---|---|---|
特点 | 有 compiler | 没有compiler | compiler 占 40% 体积 |
视图 | 写在 HTML 里或者写在template选项 | 写在render函数里用h来创建标签 | h是尤雨溪写好传给render的 |
cdn 引入 | vue.js | vue.runtime.js | 文件名不同,生成环境后缀为.min.js |
webpack 引入 | 需要配置alias | 默认使用此版 | 尤雨溪配置的 |
@vue/cli 引入 | 需要额外配置 | 默认使用此版 | 尤雨溪、蒋豪群配置的 |
备注: 第二条中的h的名字可以更改。
最佳实践
总使用非完整版,然后配合 vue-loader 和 vue 文件。
思路:
- 保证用户体验,用户下载的JS文件体积更小,但只支持h函数;
- 保证开发体验,开发者可直接在 vue 文件里写HTML标签,而不是写h函数;
- 脏活让loader去做,vue-loader会把vue文件中的HTML转成h函数,这样既保证了用户体验,有顾忌到了开发体验。
引用错了会怎么样
- vue.js 错用成了 vue.runtime.js 无法将HTML编译成视图
- vue.runtime.js错用成vue.js代码体积变大,因为vue.js有编译HTML的功能。