Webpack 2插件供应商包
网页包2与Webpack 2插件供应商包,webpack,webpack-2,Webpack,Webpack 2,网页包2与CommonChunkPlugin相关的问题/澄清 { entry: { app: './src/app.ts', vendor: ['some-third-party-lib', 'another-third-party-lib'] }, output: { path: path.resolve(__dirname, 'dist'), filename: '[name].js' },
CommonChunkPlugin
相关的问题/澄清
{
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
}) ]
}
据我所知,
commonchunkplugin
将入口点之间共享的公共代码分解成一个单独的包。在上面的代码片段中,它会说“给我输入点'app'和'vendor'之间的所有共享代码”,并将它们放在vendor
chunk/文件中。由于vendor
既是一个入口点又是一个共享块,因此我的所有第三方lib最终都会出现在1文件中(vendor.js
)。我理解正确吗?根据文档,commonchunkplugin
的minChunks
选项配置了以下内容:
在模块移动到commons块之前,需要包含模块的最小块数
传递Infinity
只会创建commons块,但不会向其中移动任何模块
src:
在您的示例中,
commonchunkplugin
只会拉出vendor
入口点中指定的块,而不会自动检测其他共享块。如果删除了minChunks
选项,插件将自动包含所有入口点引用的块。在这种情况下,您只有两个入口点,因此不会有任何区别。是的,正确!请参阅以便更好地理解。是的,网页指南帮助我实现了此配置,但仍然缺少一点连接点。感谢您的确认。