最近,我们遇到了这样的情况:我们希望使用jenkins将相同的角度构建(dist)部署到多个环境中,这意味着后端url的不同。
'ng build --configuration $ENV' (angular-6) with backend url mentioned in 'src/environment/environment.$ENV.ts'显然不是一个解决方案,因为这意味着要创建特定于环境的多个构建。发布于 2018-07-14 09:18:43
这就是我们解决它的方法:(参考:https://github.com/angular/angular-cli/issues/4318,特别感谢:Micha l Arnauts)
... <head> ... <script src="/assets/env.js"></script> </head> ...cp src/environments/environment.$ENV.values.js dist/assets/env.js请注意,步骤1是必需的,这样您就不需要在本地做第6步了。
发布于 2018-07-14 09:35:32
步骤1:创建js文件
只需在资产目录中添加一个js文件即可。
假设名称为config.js,并将所有配置放入其中,例如:
var myAppGlobalConfig = { param1: 'value1' };
var BASE_URL = "http://xxx.backend.xxx/api/";
var GET_DATA = BASE_URL + "data.go";步骤2:在index.html中包括
现在,在index.html中,只需在任何其他脚本之前包含该脚本
<script src="assets/config.js"></script>步骤3:在您的类型记录类中使用它们
例如,您可以分配http端点地址。
this.http.get(window["DATA_URL"]).subscribe(...)此外,在不同的环境中,只需更改config.js中声明的全局变量。
https://stackoverflow.com/questions/51337048
复制相似问题