Cosen95 / fe_interview

字节、阿里、美团、滴滴、腾讯等大厂高级前端面试题整理
238 stars 25 forks source link

简单说下webpack中的文件指纹策略 #125

Open Cosen95 opened 4 years ago

Cosen95 commented 4 years ago

文件指纹对应的其实就是hash

来看下这三种 hash 在 webpack 里面怎么配置:

module.exports = {
  entry: {
    app: "./src/app.js",
    info: "./src/info.js",
  },
  output: {
    filename: "[name][chunkhash:8].js",
    path: __dirname + "/dist",
  },
  plugins: [
    new MiniCssExtractPlugin({
      filename: `[name][contenthash:8].css`,
    }),
  ],
  module: {
    rules: [
      {
        test: /\.(png|svg|jpg|gif)$/,
        use: [
          {
            loader: "file-loader",
            options: {
              name: "img/[name][hash:8].[ext]",
            },
          },
        ],
      },
    ],
  },
};
占位符名称 含义
[ext] 资源后缀名
[name] 文件名称
[path] 文件的相对路径
[folder] 文件所在的文件夹
[contenthash] 文件的内容 hash,默认是 md5 生成
[hash] 文件内容的 Hash,默认是 md5 生成
[emoji] 一个随机的指代文件内容的 emoj