1-将angular material模块的所有模块导入到类似angular-material.module.ts的模块中,然后将该模块导入共享模块,这是正确的方式吗?
2-如果以上述方式使用,例如,当使用mat-input的组件时,只加载mat-input模块,或者加载所有导入angular-mat.module.ts的模块?
发布于 2020-02-25 18:11:41
据我所知,将Angular Material模块加载到一个单独的ts文件中,不会对性能产生影响,树的摇动有助于不加载不使用的模块,所以你只是给出路径,使用单个模块它总是有助于代码折射。
发布于 2020-02-25 18:38:58
考虑到角度编码风格,第一个解决方案更好。创建material.module.ts并将其导入shared.module.ts
这个解决方案和第二个解决方案(只导入用过的模块)之间的差异可能在性能上太小,并且将更难维护。
无论如何,在material.module.ts中,您只能导入应用程序中使用的库,而不能导入整个material包。如果您使用延迟加载模块,则延迟模块中使用的所有模块都将加载整个容器,因此...将加载整个材料导入。
发布于 2020-02-25 18:09:05
在Webpack中仍然有一个开放的bug,那就是树摇动仍然会在bundle文件中保留未使用的类。Angular/Cli使用此功能,因此我可以看到它仍然没有修复。
只需点击此链接即可查看更多信息:https://github.com/webpack/webpack/issues/2899
https://stackoverflow.com/questions/60391872
复制相似问题