无法为SplitChunks输出指定文件名或将函数传递给chunkFilename

时间:2018-08-13 21:31:07

标签: webpack webpack-splitchunks

我目前正在从Webpack 3升级到4。主要更改之一是将CommonChunks的配置转换为SplitChunks。

在Webpack 3中,我们有以下内容

new webpack.optimize.CommonsChunkPlugin({
    name: 'commons',
    filename: 'commons-min.js',
    chunks: commonsChunks,
    minChunks: 10,
  }),

所以我们有commons-min.js的输出

切换到Webpack 4并使用SplitChunks

 splitChunks: {
  minChunks: 10,
  cacheGroups: {
    "commons": {
      name: "commons",
      chunks (chunk) {
        return commonsChunks.includes(chunk.name);
      },
    },
  },

在输出配置中,有

output: {
   filename: '[name]-min.js',
   chunkFilename: '[name]-min-async.js',
   path: __dirname + '/public/js',
},

所以我现在通过SplitChunks得到的输出是commons-min-async.js。当前,我们正在使用chunkFilename进行动态导入,并且对于部署commons和async文件有不同的策略,并且希望将两者分开。似乎没有SplitChunks的文件名属性,chunkFilename似乎只接受一个字符串,而不接受类似filename的函数。还有另一种方法来设置拆分块的文件名,并且不影响动态导入分块文件的名称吗?

0 个答案:

没有答案