为什么webpack中的[contenthash]不同?

时间:2018-05-08 02:19:32

标签: webpack webpack-4

webpack.config.js

module.exports = {
entry: {
    app: './src/main.js',
},
output: {
    path: path.resolve(__dirname, './dist/js/'),
    publicPath: '/js/',
    filename: '[name].js',
    chunkFilename: 'chunk/[contenthash:32].js',  // use contenthash here
    hashDigestLength:32,
},

生成文件28024a27808de6fae79a1f5596584d3e.js,但实际上内容哈希为9c757e82e0a41d8e51228532a109a0d7

enter image description here

1 个答案:

答案 0 :(得分:1)

webpack 使用 old md4 哈希算法。此外,它还在文件的 base64 编码版本上运行。

最重要的是,此操作是在文件的非缩小版本上完成的。因此,您无法通过比较文件名中的哈希值和最终缩小文件的实际md4哈希值来检查md4值。他们永远不会匹配。

来源:https://webpack.js.org/plugins/hashed-module-ids-plugin/