【问题标题】:Why is the [contenthash] different in webpack?为什么 webpack 中的 [contenthash] 不同?
【发布时间】:2018-05-08 02:19:31
【问题描述】:

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

【问题讨论】:

    标签: webpack webpack-4


    【解决方案1】:

    webpack 使用 old md4 散列 算法。它还在文件的 base64 编码版本上运行。

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

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

    【讨论】:

    • 我知道它是一个旧答案 :) 但我正在尝试找到一篇官方文章,即 weback(v4 而不是 v5 with realContentHash)是基于源文件而不是基于输出(缩小)的散列。根据您提供的链接,您是如何得出这个结论的?谢谢!
    • 我只是在我的文件上运行 md4,但首先进行 base64 编码。
    • 谢谢,我找到了this issue 我想它的“官方”对我来说已经足够了:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2020-11-09
    • 2019-03-26
    • 2021-10-15
    • 2017-02-05
    • 1970-01-01
    相关资源
    最近更新 更多