CommonsChunkPlugin配置中“children”引用了什么

时间:2017-03-02 15:51:43

标签: webpack commonschunkplugin

我正试图围绕webpack的CommonsChunkPlugin的配置选项。这些选项包括布尔children属性。你能解释一下当设置为true时会发生什么,而不是设置为false时会发生什么? This documentation说“如果true选择了公共块的所有子项,”但页面从未定义“公共块的子项”。孩子们是否包含公共块?或者也许公共块的模块包括?此外,“选择”孩子的意义是什么?

1 个答案:

答案 0 :(得分:6)

我认为这里的措词有点误导。如果您查看相关的example on the same documentation page,它就会变得更加清晰。

一旦开始进行代码拆分,术语块就可以参考

  • 您的输入块,其中包含由代码中的分割点创建的子项
  • 您的分割点(即您的输入块的子节点)或
  • 创建的块
  • 您与CommonsChunkPlugin合并的公共块。

现在,正如您在文档中看到的那样,将CommonsChunkPlugin合并到CommonsChunkPlugin中的公共块可以是新的公共块或现有的块。后者是通过将现有块的名称指定为" name"来实现的。 CommonsChunkPlugin选项中公共块的属性。但是,根据我的经验,您只能指定作为应用程序入口点的现有块。例如,如果您的应用程序入口点的名称为" app",则以下CommonsChunkPlugin选项应合并" app"的子代中的公共代码。进入" app"块。

new webpack.optimize.CommonsChunkPlugin({
  name: 'app',
  children: true
})

相反,如果你想为" app"的孩子的公共代码创建一个新的公共块,你可以使用以下代码:

new webpack.optimize.CommonsChunkPlugin({
  name: 'app',
  filename: 'common-code.js',
  children: true,
  async: true
})

回到你的文档引用

  

如果为真,则选择公共块的所有子项

" commons chunk"应该用" entry chunk"替换。