【发布时间】:2018-10-01 11:43:51
【问题描述】:
假设我有一个 SharedModule,它导入了一堆服务、管道等,然后在 FeatureModuleA 我想使用一个在 SharedModule 中声明的管道.
然后我正在导入 SharedModule,它可能包含 100 个不同的管道,但其中 99 个在 FeatureModuleA 中成为未使用和死代码。这不是很没有效率吗?
这让我想到了 tree shaking,其中 webpack 可能会删除未使用的代码,但 AFAIK,tree shaking 会删除已导出但尚未导入的代码。在我的情况下,所有内容都是由 SharedModule 导入的,那么这到底是如何工作的呢?我会因为需要 1/100 个管道而有 99% 未使用的代码吗?
有人愿意解释一下吗?在官方文档中找不到任何信息。
【问题讨论】:
-
共享模块是否存在于您的 AppModule 中?
-
不,我以为我只在那些需要 SharedModule 的功能模块中导入 SharedModule。
-
如果你的sharedmodule已经被AppModule导入了,你可以在providers中提到管道。这样你就可以在组件的任何地方访问它
-
您还可以将私有模块添加到您的
componentA,然后在其中添加您需要的一些管道/服务
标签: angular