Vue 构建版本

71 阅读1分钟

参考

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类型)

运行时

  1. vue.runtime.esm.js: 用于新版打包工具,常用
  2. vue.runtime.common.js: 用于旧版打包工具
  • 开发环境: vue.runtime.common.dev.js
  • 生产环境: vue.runtime.common.prod.js
  1. vue.runtime.js: 用于umd模块,既支持npm导入,也支持浏览器导入
  2. vue.runtime.mjs: 支持在node文件中导入的es modeule

运行时+编译器

  1. vue.js: 用于umd模块,既支持npm导入,也支持浏览器导入。也可以用vue.min.js版本
  2. vue.esm.browser.js: 用于浏览器script es module导入,也可用vue.esm.browser.min.js版本
  3. vue.esm.js: 用于新版打包工具(需要编译器的情况下)
  4. 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文件