2

我构建的块的大小太大,所以我试图将它们分成更小的块。当我在 a 上设置minChunks 条件cacheGroup时,它会阻止该组构建,而不会提供任何错误。我在我的配置中做错了什么?

// webpack.common.js

entry: {
    build: path.join(setPath('src'), 'main.js')
},
output: {
    path: setPath('dist'),
    publicPath: '/',
    filename: 'js/[name].[hash:8].js',
    chunkFilename: 'js/[name].[hash:8].js'
},

没有minChunks

// webpack.prod.js

optimization: {
  splitChunks: {
    cacheGroups: {
      vendors: {
        test: /node_modules/,
        chunks: 'all'
      }
    }
  }
}

// output
                       Asset     Size      Chunks                  Chunk Names
js/vendors~build.2ef9f7c1.js     1.98 MiB       0  [emitted]  [big]  vendors~build
js/build.2ef9f7c1.js             354 KiB        1  [emitted]  [big]  build
index.html                       592 bytes         [emitted]

minChunks

// webpack.prod.js

optimization: {
  splitChunks: {
    cacheGroups: {
      vendors: {
        test: /node_modules/,
        chunks: 'all',
        minChunks: 2
      }
    }
  }
}

// output
               Asset            Size       Chunks                  Chunk Names
js/build.77d425d4.js            2.33 MiB        0  [emitted]  [big]  build
index.html                      454 bytes          [emitted]
4

1 回答 1

1

将 minChunks 从 2 更改为 1,它会正常工作。因为您只有一个名为“build”的入口文件,它是唯一共享公共依赖项的块。

于 2018-08-22T07:17:28.410 回答