Webpack 4:内容哈希文件名?

Webpack 4: content hash filename?

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

我现在正在使用这个:

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

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

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