roc*_*ter 6 webpack angular-cli angular
我有一个Angular 5应用程序,运行angular-cli 1.6.6,当捆绑我的应用程序时,我(在所有其他人中)有一个common.chunk.js.
你知道这是什么吗?它与我的任何模块都不匹配,它也不是供应商或主要或polyfill,因为它们有专用的块.
Hee*_*aaw 12
公共块是多个功能模块使用的所有内容的地方.
假设您在自定义grid
模块中有自定义网格组件.然后你把这个网格模块到您user
和admin
功能模块.由于该grid
模块用于多个功能模块,因此Webpack将其缝合到common.chunk
其他功能模块所依赖的模块中.
如果在关闭块命名--named-chunks false
的情况下运行构建(- 在--prod
构建中默认使用),则common.chunk
变为0.chunk
- 在任何其他惰性块之前必须加载的第0个块.
这样做的一个缺点是,如果你的应用程序中有很多小的懒惰模块(我认为这是从屏幕截图判断的情况),那么common.chunk
将会开始变得特别快.假设你的两个懒惰模块使用了一些很棒的(但是胖乎乎的)图表库.图表库中的所有树形代码都将最终出现在common.chunk
.即使其他惰性模块不使用任何一堆图表代码,它们仍然依赖于common.chunk
并将加载并执行它们不需要的所有图表代码.
要查看它是什么,您可以使用它webpack-bundle-analyzer
来检查已构建块的内部.您既可以使用npm i --D
它,也可以使用npx
不会破坏您的dev依赖项.
ng build --prod --stats-json && npx webpack-bundle-analyzer dist/stats.json
Run Code Online (Sandbox Code Playgroud)
希望这有所帮助 :-)
归档时间: |
|
查看次数: |
8003 次 |
最近记录: |