在Angular

时间:2017-10-14 20:27:16

标签: angular

有谁知道在Angular应用程序中使用多个共享模块是否有任何意义?

我怀疑的是,如果我将所有管道,指令和通用组件放在一个大的共享模块中,然后将其导入到延迟加载的模块中(我只使用一个或两个导入的模块)功能)它可能导致输出文件中未使用的代码重复。 然后,如果我在几个共享模块之间拆分共享功能并仅导入每个特定模块中所需的那些,那么它会减小我的应用程序的大小吗?或者Angular默认会进行所有这些优化?

我知道webpack(Angular构建系统所基于的)允许将公共块放在一个文件中。但我不确定它是否适用于延迟加载的模块。

1 个答案:

答案 0 :(得分:4)

我已就这种情况下ng build输出做了一些调查。我使用了两个惰性模块(对共享功能有不同的依赖关系)并将我的共享模块导入它们。然后我构建了应用程序并检查了他们的文件。它们不包含额外的代码,只是引用完全放在main.bundle.js中的共享模块。

因此,这意味着将共享功能放在每个应用程序的一个公共共享模块中与在几个共享模块之间将它们分开,以免影响总体构建大小。

相关问题