webpack 文件指纹
就是打包后输出后的文件名的后缀 -hash 和整个项目构建相关的。只要项目文件发生改变,项目hash就会改变
chunkhash。和chunk相关,不同entry产生不同的chunkhash
contenthash 根据文件内容定义hash,内容不变,hash不变
js文件的指纹设置
output filename 使用chunkhash
module.export = {
entry: {app:'./src/app/js',search:'./src/search.js'},
output:{fileame:'[name][chunkhash:8].js'],path:_dirname + '/dist'}
}
css文件的指纹设置
设置MiniCssExtractPlugin,css
module.export = {
entry: {app:'./src/app/js',search:'./src/search.js'},
output:{fileame:'[name][chunkhash:8].js'],path:_dirname + '/dist'},
plugin:[
new MiniCssExtractPlugin({filename:`[name][contenthash:8].css`})
]
}
图片相关文件指纹设置
file-loader 中的name 占位符的名称和含义
- name 文件名字
- path 文件相对路径
- folder 文件所在文件夹
- contenthash
- hash
module.export = {
entry: {app:'./src/app/js',search:'./src/search.js'},
output:{fileame:'[name][chunkhash:8].js'],path:_dirname + '/dist'},
module:{
rules:[
{
test:/\.(png|svg|jpg|gif)$/,
use: [
{
loader:'file-loader',
options:{name:'img/[name][hash:8].[ext]'}
}
]
}
]
}
}