
本文大约 1500 字。
hash
三种 hash
在 vue.config.js 中配置 hash
源码
<link href=/static/css/chunk-vendors.d637be65.css rel=preload as=style>
module,即模块,每个引入的文件就是一个module,常言模块化,是开发中的物理最小代码单位
chunk, N 个模块打包在一起形成的的一个文件(如果 chunk 有 split,则每个分开的文件都是一个独立的 chunk)
bundle,一次工程编译打包的最终产物,有可能就是 chunk,也有可能包含多个chunk的综合体
hash,根据每次编译的内容计算所得,不是针对每个具体文件的,每次编译都会有一个 hash
chunkhash,入口级别的 hash,如果入口文件有改动,则从该入口打包引入的所有文件的hash都会变化,主要指同一个入口的js和css文件。
contenthash,文件级别的 hash,只有文件的内容变了hash才会变
outputDir: 'dist',
assetsDir: 'static',
filenameHashing:true,
pages: {
index: {
// page 的入口
entry: 'src/main.js',
// 模板来源
template: 'public/index.html',
// 在 dist/index.html 的输出
filename: 'index.html',
// 当使用 title 选项时,
// template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
title: 'Index Page',
hash: true,
// 在这个页面中包含的块,默认情况下会包含
// 提取出来的通用 chunk 和 vendor chunk。
chunks: ['chunk-vendors', 'chunk-common', 'index']
}
},
entry: {
index: path.resolve(__dirname, './src/index.js'),
index1: path.resolve(__dirname, './src/index1.js'),
index2: path.resolve(__dirname, './src/index2.js')
}
...
plugins: [
new HtmlWebpackPlugin({
...
chunks: ['index','index2']
})
]
参考链接
https://segmentfault.com/q/1010000016925412/a-1020000016946034
关于Vue-cli3.0 的配置pages.chunks的参数的意义
https://segmentfault.com/a/1190000007294861#articleHeader9
html-webpack-plugin用法全解
[专栏]基于 vue+go 如何快速进行业务迭代?
关于作者

本文分享自微信公众号 - 程序员LIYI(CoderLIYI)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/4968606/blog/4932709