源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

解析Vue2 dist 目录下各个文件的区别

  • 时间:2021-07-05 13:14 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:解析Vue2 dist 目录下各个文件的区别
vue2 经过 2.2 版本升级后, 文件变成了 8 个: [list=1] [*]vue.common.js[/*] [*]vue.esm.js[/*] [*]vue.js[/*] [*]vue.min.js[/*] [*]vue.runtime.common.js[/*] [*]vue.runtime.esm.js[/*] [*]vue.runtime.js[/*] [*]vue.runtime.min.js[/*] [/list] 瞬间就懵逼了, 这些文件该怎么选? 下面就来说下, 这 8 个作用都用在什么场景, 有什么区别 按照构建方式分, 可以分成 完整构建(包含独立构建和运行时构建) 和 运行时构建 按照规范分, 可以分成 UMD, CommonJS 和 ES Module 简单来说, 完整构建 和 运行时构建的区别就是, 可不可以用template选项, 和文件大一点,小一点 [b]vue.common.js[/b] 属于: 基于 CommonJS 的完整构建 可以用于 Webpack-1 和 Browserify 之类打包工具 因为是完整构建, 所以可以使用template选项, 如:
import Vue from 'vue'
new Vue({
 template: `
  <div id="app">
   <h1>Basic</h1>
  </div>
 `
}).$mount('#app')
注意: 用 webpack-1 之类打包工具时, 使用该版本, 需要配置别名, 以 webpack 为例:
{
 resolve: {
  alias: {
   'vue$': 'vue/dist/vue.common.js'
  }
 }
}
[b]vue.esm.js[/b] 属于: 基于 ES Module 的完整构建 可以用于 Webpack-2 和 rollup 之类打包工具 因为是完整构建, 所以可以使用template选项, 如:
import Vue from 'vue'
new Vue({
 template: `
  <div id="app">
   <h1>Basic</h1>
  </div>
 `
}).$mount('#app')
注意: 用 webpack-2 之类打包工具时, 使用该版本, 需要配置别名, 以 webpack 为例:
{
 resolve: {
  alias: {
   'vue$': 'vue.esm.js'
  }
 }
}
[b]vue.js[/b] 属于: 基于 UMD 的完整构建 可以用于直接 CDN 引用 因为是完整构建, 所以可以使用template选项, 如:
<script src="https://unkpg.com/vue/dist/vue.js"></script>
<script>
new Vue({
 template: `
  <div id="app">
   <h1>Hi Vue</h1>
  </div>
 `
}).$mount('#app')
</script>
[b]vue.min.js[/b] 和 vue.js 一样, 属于压缩后版本 vue.runtime.common.js 属于: 基于 CommonJS 的运行时构建 可以用于 Webpack-1 和 Browserify 之类打包工具 运行时构建不包含模板编译器,因此不支持template选项,只能用render选项,但即使使用运行时构建,在单文件组件中也依然可以写模板,因为单文件组件的模板会在构建时预编译为render函数, render函数的使用, 请参考: [url=http://cn.vuejs.org/v2/guide/render-function.html]http://cn.vuejs.org/v2/guide/render-function.html[/url]
import Vue from 'vue'
new Vue({
 render: function(h){
  return h('h1', 'Hi Vue')
 }
}).$mount('#app')
[b]vue.runtime.esm.js[/b] 属于: 基于 ES Module 的运行时构建 可以用于 Webpack-2 和 rollup 之类打包工具 运行时构建不包含模板编译器,因此不支持template选项,只能用render选项,但即使使用运行时构建,在单文件组件中也依然可以写模板,因为单文件组件的模板会在构建时预编译为render函数, render函数的使用, 请参考: [url=http://cn.vuejs.org/v2/guide/render-function.html]http://cn.vuejs.org/v2/guide/render-function.html[/url]
import Vue from 'vue'
new Vue({
 render: function(h){
  return h('h1', 'Hi Vue')
 }
}).$mount('#app')
[b]vue.runtime.js[/b] 属于: 基于 UMD 的运行时构建 可以用于直接 CDN 引用 该版本和vue.js类似, 可以用于直接 CDN 引用, 因为不包含编译器, 所以不能使用template选项, 只能使用render函数
<script src="https://unkpg.com/vue/dist/vue.runtime.js"></script>
<script>
new Vue({
 render: function(h){
  return h('h1', 'Hi Vue')
 }
}).$mount('#app')
</script>
[b]vue.runtime.min.js[/b] 和 vue.runtime.js 一样, 属于压缩后版本 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部