angular - 如何有条件地从生产构建中排除角度组件?
问题描述
我们有一个用例,其中一个公共存储库将用于不同的产品,比如产品 X 和 Y。
该存储库具有角度组件 A、B、C。
具体来说,对于产品 Y,我们需要在进行生产构建时排除组件 B。
组件 B 添加了它的选择器,例如,在另一个组件中。
它是 app.module.ts 中的条目。
我正在考虑使用环境变量的条款,但不确定它如何应用于我们的案例。
根据组件的构建有条件地排除组件的最佳方法是什么?
寻找一个临时的、不可扩展的解决方案。
任何帮助将非常感激。
解决方案
@Naveen,我认为您需要做的是进一步将组件分离到公共存储库中的模块中。例如:在公共存储库中,模块 X 将具有组件 A 和 C,而模块 Y 将具有组件 B。或者更进一步,每个组件在存储库中都有自己的模块。然后您需要将您的存储库发布到 npm,这样您就可以只导入您的产品所需的组件。
注意:为了更好的可重用性,将在不同产品中使用的通用组件的存储库作为 npm 包通常是行业标准。
此外,在我的想法中,还没有办法有条件地从构建中排除组件。您可能必须弹出并手动配置 webpack 配置文件以满足此要求。
推荐阅读
- azure - 使用 GraphQL 连接 CosmosDB?
- imacros - 提取和搜索列
- mysql - 是否可以在一个命令中写入一个表?
- java - ManyToOne 关系,父级可以更新/删除/添加子级,但父级列表在子级保存/删除时也会更新,没有级联
- python - Python 字符串列表到 1 个字符串,用逗号和引号 (, & ") 分隔
- python-2.7 - pybind11 embed 留下未清理的进程
- couchdb - pouchdb-authentication 如何为新用户设置角色
- laravel - Laravel 数据库查询构建器关系
- c# - 如何根据整数用户输入打印枚举值?
- python - pandas - 如何在有条件的 groupby 中创建多个列?