webpack之文件指纹

116 阅读1分钟

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]'}
                  }
              ]
          }
      ]
  }
}