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

标签 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

最佳答案

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

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

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

关于webpack - 为什么 webpack 中的 [contenthash] 不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50224845/

相关文章:

javascript - webpack block 和 vue.js 组件的浏览器缓存问题

multithreading - 不能将 Worker-Loader 与 Vuejs 和 Webpack 一起使用

javascript - babel loader 仅处理文件

reactjs - Webpack 4 和 React loadable 似乎没有为服务器端渲染创建正确的 block

javascript - HtmlWebpackPlugin - 在正文中的特定位置注入(inject) js

javascript - Vuejs 预加载插件失败,HtmlWebpackPlugin.getHooks 不是函数

webpack - 为什么我的设置中需要 "@babel/plugin-proposal-optional-chaining"使用 "@babel/preset-env"和 "@babel/preset-typescript"

css - 如何将多个css文件和javascript文件编译成一个文件?

css - MiniCssExtractPlugin 没有链接到我的 html 文件

javascript - 如何将外部 CSS 文件导入 JS 包?