我想设计和开发一个基于8/9的框架,它应该为多个应用程序服务,这些应用程序可以在所有的应用程序之间共享共同的代码。
本申请适用于不同国家,不同国家的规则可能相同或不同。
UI-Components:自定义UI组件被公开为节点模块,将来可以升级并发布到所有应用程序。 core :它应该具有所有应用程序的通用、核心、抽象代码。
Country-1代码:Country-1是核心的实现,它将在需要时重用和扩展它们。
Country-N代码:Country-N是核心的实现,它将在任何需要的地方重用和扩展它们。
我有下面的结构考虑,但我想参数化的国家,我的意思是在生成dist,各自的dist不应与其他国家的代码包。
设计应该是封闭的修改和开放的扩展。在这里输入图像描述我很感谢你的回应。
发布于 2020-02-15 20:34:02
由于我不能张贴这么多的字符作为评论,我张贴这作为一个答复。这可能不是你所需要的,但我认为这是一个很好的起点。
如果您有以下项目结构
--app
--components
--component1
--country1
--country2
--component2
--country1
--country2如果希望为每个国家创建不同的生产版本,则需要更新angular.json文件,以便它将包括针对每个国家的特定文件/文件夹传输配置。例如,生产生成具有以下配置:
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
...
}然后,您需要添加特定于国家的配置:
"country1": {
"assets": [
{
"input": "src/app/components/component1/country1",
"output": "components/component1"
},
{
"input": "src/app/components/component2/country1",
"output": "components/component2"
}
]
...
}然后,您可以使用以下命令运行生产生成:
ng build --prod --configuration country1
这将复制资产文件夹中的脚本文件,并简单地从那里加载它们。我认为这将复制脚本的原样(没有缩小等)。
我希望这能帮到你。
https://stackoverflow.com/questions/60236584
复制相似问题