千家信息网

Vue2中dist目录下各个文件的区别是什么

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,Vue2中dist目录下各个文件的区别是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。vue2 dist文件夹中有8个文件如下:
千家信息网最后更新 2024年12月12日Vue2中dist目录下各个文件的区别是什么

Vue2中dist目录下各个文件的区别是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

vue2 dist文件夹中有8个文件如下:

  1. vue.common.js

  2. vue.esm.js

  3. vue.js

  4. vue.min.js

  5. vue.runtime.common.js

  6. vue.runtime.esm.js

  7. vue.runtime.js

  8. vue.runtime.min.js

为什么会有个文件呢?下面就来说下, 这 8 个作用都用在什么场景, 有什么区别。

Vue项目按照构建方式分, 可以分成 完整构建 和 运行时构建。

按照规范分, 可以分成 UMD, CommonJS 和 ES Module。

简单来说, 完整构建 和 运行时构建的区别就是, 可不可以用template选项, 和文件大一点,小一点。而按照不同的规范可以运行在不同的开发环境中。

vue.common.js属于: 基于 CommonJS 的完整构建可以用于 Webpack-1 和Browserify 之类打包工具,因为是完整构建, 所以可以使用template选项, 如:

import Vue from 'vue'
new Vue({
template: `

Basic



`
}).$mount('#app')

注意: 用 webpack-1 之类打包工具时, 使用该版本, 需要配置别名, 以 webpack 为例:

{
resolve: {
alias: {
'vue$': 'vue/dist/vue.common.js'
}
}
}

vue.esm.js属于: 基于 ES Module 的完整构建。可以用于 Webpack-2 和 rollup 之类打包工具,因为是完整构建, 所以可以使用template选项, 如:

import Vue from 'vue'
new Vue({
template: `

Basic



`
}).$mount('#app')

注意: 用 webpack-2 之类打包工具时, 使用该版本, 需要配置别名, 以 webpack 为例:

{
resolve: {
alias: {
'vue$': 'vue.esm.js'
}
}
}

vue.js属于: 基于 UMD 的完整构建。可以用于直接 CDN 引用,因为是完整构建, 所以可以使用template选项, 如:


vue.min.js和 vue.js 一样, 属于压缩后版本

vue.runtime.common.js属于: 基于 CommonJS 的运行时构建,可以用于 Webpack-1 和 Browserify 之类打包工具,运行时构建不包含模板编译器,因此不支持template选项,只能用render选项,但即使使用运行时构建,在单文件组件中也依然可以写模板,因为单文件组件的模板会在构建时预编译为render函数, render函数的使用, 请参考: http://cn.vuejs.org/v2/guide/render-function.html

import Vue from 'vue'
new Vue({
render: function(h){
return h('h2', 'Hi Vue')
}
}).$mount('#app')
vue.runtime.esm.js

vue.runtime.esm.js属于: 基于 ES Module 的运行时构建。可以用于 Webpack-2 和 rollup 之类打包工具。运行时构建不包含模板编译器,因此不支持template选项,只能用render选项,但即使使用运行时构建,在单文件组件中也依然可以写模板,因为单文件组件的模板会在构建时预编译为render函数, render函数的使用, 请参考: http://cn.vuejs.org/v2/guide/render-function.html

import Vue from 'vue'
new Vue({
render: function(h){
return h('h2', 'Hi Vue')
}
}).$mount('#app')

vue.runtime.js属于: 基于 UMD 的运行时构建,可以用于直接 CDN 引用。该版本和vue.js类似, 可以用于直接 CDN 引用, 因为不包含编译器, 所以不能使用template选项, 只能使用render函数:


vue.runtime.min.js和 vue.runtime.js 一样, 属于压缩后版本

总之记住一句话,完整构建时是可以使用template选项的,而运行时构建是不可以使用的,但是不论哪一种,单文件组件都可以编译为组件。 UMD规范适用于浏览器直接引用,不用打包。CommonJS 和 ES Module规范都需要类似webpack和rollup之类的打包工具配合才能使用。

这里留给大家一个思考题,在用vue-cli构建vue项目时,一般会有一个选项,如下:

关于Vue2中dist目录下各个文件的区别是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

文件 运行 工具 模板 组件 函数 版本 编译器 译为 问题 编译 目录 不同 别名 更多 项目 参考 帮助 支持 解答 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 每次从数据库读取n条数据 软件开发过程的开发模型 mysql 实时刷新数据库 数据库服务器报警 网络安全教育问卷活动信息 天津阿里云服务器系统云空间 本地压测和服务器压测 农村土地承包经营权数据库更新 网络技术培训加盟 通过命令写入数据库js 西交网络安全大作业 我的世界僵尸生存服务器推荐 服务器管理器开机启动关闭 口碑好的网络技术出厂价格 临沂管理系统软件开发推荐 游戏软件开发的学校 淄博联想服务器代理测评 绍兴现在那里还有服务器 怎么建立数据库供别人查询 云闪付 服务器 电信 联通 武鸣县软件开发 网络安全学习顺口溜 计算机网络技术可以去当兵吗 江苏天叶互联网科技有限公司 网络安全设计的安全性 c++是用哪个软件开发 长沙软件开发专科学校有哪些 计算机三级网络技术考几科 初级实用英语软件开发 龙之谷手游新服务器
0