Vue 的两个版本

237 阅读1分钟

Vue 有两个不同的版本可供使用,分别是 Vue 完整版(vue.js)和 Vue 运行时版本(vue.runtime.js)

  • 完整版:同时包含编译器运行时的版本
  • 编译器:用来将模板字符串编译成为 JavaScript 渲染函数的代码。
  • 运行时:用来创建 Vue 实例、渲染并处理虚拟 DOM 等的代码。基本上就是除去编译器的其它一切。

简单来说,完整版可以让模板在客户端被编译,而运行时版本不可以。

// 需要编译器
new Vue({
  template: '<div>{{ hi }}</div>'
})

// 不需要编译器
new Vue({
  render (h) {
    return h('div', this.hi)
  }
})

因为运行时版本不包含编译器,所以体积上比完整版更小。而编译器的工作可以在构建由vue-loader完成,在最终打好的包里实际上是不需要编译器的,因此只用运行时版本即可

在webpack或者@vue/cli配置时,默认配置就是运行时版本。如果想使用完整版,除了在cdn引入Vue的时候通过url指定版本,还可以在配置webpack时加入alias:

module.exports = {
  // ...
  resolve: {
    alias: {
      'vue$': 'vue/dist/vue.esm.js' // 用 webpack 1 时需用 'vue/dist/vue.common.js'
    }
  }
}