首页 > 解决方案 > 如何有条件地从生产构建中排除角度组件?

问题描述

我们有一个用例,其中一个公共存储库将用于不同的产品,比如产品 X 和 Y。
该存储库具有角度组件 A、B、C。

具体来说,对于产品 Y,我们需要在进行生产构建时排除组件 B。

组件 B 添加了它的选择器,例如,在另一个组件中。
它是 app.module.ts 中的条目。

我正在考虑使用环境变量的条款,但不确定它如何应用于我们的案例。

根据组件的构建有条件地排除组件的最佳方法是什么?
寻找一个临时的、不可扩展的解决方案。

任何帮助将非常感激。

标签: angularenvironment-variablesproduction-environmentangular-components

解决方案


@Naveen,我认为您需要做的是进一步将组件分离到公共存储库中的模块中。例如:在公共存储库中,模块 X 将具有组件 A 和 C,而模块 Y 将具有组件 B。或者更进一步,每个组件在存储库中都有自己的模块。然后您需要将您的存储库发布到 npm,这样您就可以只导入您的产品所需的组件。

注意:为了更好的可重用性,将在不同产品中使用的通用组件的存储库作为 npm 包通常是行业标准。

此外,在我的想法中,还没有办法有条件地从构建中排除组件。您可能必须弹出并手动配置 webpack 配置文件以满足此要求。


推荐阅读