【问题标题】:Webpack 4: content hash filename?Webpack 4:内容哈希文件名?
【发布时间】:2018-03-16 19:30:13
【问题描述】:

有没有办法将块内容的哈希放入每个文件的文件名中,而不是整个块的哈希?

我现在正在使用这个:

    output: {
        filename: '[name].[chunkhash].js',
        chunkFilename: 'chunk.[chunkhash].js',
    },
    plugins: [
        new MiniCssExtractPlugin({
            filename: '[name].[hash].css',
            chunkFilename: 'chunk.[chunkhash].css',
        }),
    ],

但是如果我修改 JS 文件,CSS 文件的[chunkhash] 也会改变,反之亦然。没有理由使未更改文件的缓存无效。

【问题讨论】:

  • 这将是一个很棒的 GitHub 问题,因为我不相信我们对这个插件有 contenthash 支持。 GitHub.com/webpack-contribs/mini-css-extract-plugin
  • @SeanLarkin 从核心解决这个问题不是更好吗?如果在我编辑 JS 时 CSS 文件名发生变化,则将 [contenthash] 添加到 mini-css-extract-plugin 将解决问题,反之亦然,对吗?每次支持新文件类型时,问题都会不断出现,不是吗?
  • 这是一个很好的观点,但我记得有一些限制,我现在不能说。你也可以提交到 webpack/webpack 并从那里开始。然后我们可以深入研究该功能在所有资产类型等方面的可行性。
  • @SeanLarkin 实际上已经有一个 PR 可以将它添加到 minicss:github.com/webpack-contrib/mini-css-extract-plugin/pull/30
  • 这个问题的措辞有点搞笑,但我觉得是同一个问题:github.com/webpack/webpack/issues/672

标签: webpack webpack-4


【解决方案1】:

webpack(至少^4.5.0)和mini-css-extract-plugin(至少^0.9.0)的当前版本分别支持output.filenamefilename 中的[contenthash] 占位符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 2017-11-30
    相关资源
    最近更新 更多