gpt4 book ai didi

javascript - Angular 一个项目有 2 种不同的配置

转载 作者:行者123 更新时间:2023-12-01 03:19:09 31 4
gpt4 key购买 nike

我有一个 Angular 2 项目,其中包含一些用于访问微服务的配置文件。该项目由 Jenkins 自动部署和构建到不同的服务器。该过程可以这样显示 enter image description here

问题是:如何为每个服务器创建自定义配置。选项
environment.{$server_name}.ts 不好,因为就我而言,服务器数量可能很大。

更新:

配置文件包含微服务url,示例:

export const MSConfigAPI = {
protocol: 'http',
baseUrl: 'some-url',
version: 'v1',
port: '8082',
clientId: 'api_user',
clientSecret: 'pass',
getUrl: () => {
return MSConfigAPI.protocol + '://' + MSConfigAPI.baseUrl + ':' + MSConfigAPI.port + '/' + MSConfigAPI.version + '/';
}
};

我还可以有其他仅需要特定服务器的配置文件。

我的应用程序是CMS,所以我想要一个源代码,但对于每个项目我想更改本地配置文件。

在每个服务器上放置 ng build --prod --aot 的结果,即纯 css、js 和其他内容。

感谢您的回答!

最佳答案

您可能需要考虑在每台服务器上公开一个具有应用程序所有配置属性的 Web 服务。然后您可以使用APP_INITIALIZER在启动时调用 Web 服务并存储这些配置属性。

这样做的最大好处是您只需要针对所有不同环境进行 1 次构建。此外,无需重建项目即可更改配置。

检查this Plunker example如何使用它。

编辑:您可能还想检查 this SO topic如果您发现此方法适合您的需求。 (请注意一些使用 Angular RC 而不是最终版本的旧示例)

关于javascript - Angular 一个项目有 2 种不同的配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45330637/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com