vue版本:2.7.10
命名规则
runtime
仅包含运行时,否则包含编译器。使用字符串模版生成vue实例需要使用编译器。
// 需要编译器
new Vue({
template: '<div>{{ hi }}</div>'
})
// 不需要编译器
new Vue({
render (h) {
return h('div', this.hi)
}
})
- 因为vue-loader会将
*.vue
文件组件编译成js函数,所以在构建工具中一般只需要运行时版本。 - 直接在浏览器
script
导入的方式,很少全部使用render函数创建vue实例,因此一般都是使用包含编译器的版本。
common
用来配合老的打包工具比如 Browserify 或 webpack 1。根据运行环境再调用dev或prod文件。
esm
es module版本,其中esm.brower为可在浏览器中通过script导入的版本。
min
带有该字眼的为元素版本的混淆压缩版。一般用于浏览器script导入,打包工具不使用min版本。
分类(忽略min类型)
运行时
- vue.runtime.esm.js: 用于新版打包工具,常用
- vue.runtime.common.js: 用于旧版打包工具
- 开发环境: vue.runtime.common.dev.js
- 生产环境: vue.runtime.common.prod.js
- vue.runtime.js: 用于umd模块,既支持npm导入,也支持浏览器导入
- vue.runtime.mjs: 支持在node文件中导入的es modeule
运行时+编译器
- vue.js: 用于umd模块,既支持npm导入,也支持浏览器导入。也可以用vue.min.js版本
- vue.esm.browser.js: 用于浏览器script es module导入,也可用vue.esm.browser.min.js版本
- vue.esm.js: 用于新版打包工具(需要编译器的情况下)
- vue.common.js: 用于旧版打包工具(需要编译器的情况下)
Vue package.json相关配置
"main": "dist/vue.runtime.common.js",
指定旧版打包工具入口为vue.runtime.common.js
"module": "dist/vue.runtime.esm.js",
指定新版打包工具入口为vue.runtime.esm.js
"jsdelivr": "dist/vue.js",
将cdn.jsdelivr.net/npm/vue@2.7… 重定向vue.js文件
"unpkg": "dist/vue.js",
将unpkg.com/vue@2.7.10 重定向vue.js文件