Webpack 2与CommonsChunkPlugin有关的问题/澄清。
{
entry: {
app: './src/app.ts',
vendor: ['some-third-party-lib', 'another-third-party-lib']
},
output: {
path: path.resolve(__dirname, 'dist'),
filename: '[name].js'
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks: Infinity
}) ]
}据我所知,CommonsChunkPlugin提供了在入口点之间共享到一个单独包中的通用代码。在上面的片段中,它会说:“在我的入口点'app‘和’供应商‘之间给我所有的共享代码”,并将它们放在vendor块/文件中。由于vendor既是一个入口点,也是一个共享块,因此我的所有第三方库最终都在1文件(vendor.js)中结束。我理解得对吗?
发布于 2017-03-08 21:50:26
根据文档,minChunks选项CommonsChunkPlugin配置如下:
在模块移动到共用块之前需要包含的最小块数。 传递
Infinity只会创建共用块,但不会将模块移动到其中。
src:https://webpack.js.org/plugins/commons-chunk-plugin/#options
在您的示例中,CommonsChunkPlugin只会提取vendor入口点中指定的块,并且不会自动检测其他共享块。如果删除了minChunks选项,插件将自动包含所有入口点引用的块。在这种情况下,您只有两个入口点,所以不会有什么不同。
https://stackoverflow.com/questions/42429188
复制相似问题