【发布时间】:2019-11-22 13:36:35
【问题描述】:
场景/当前状态:我有一个在 Azure DevOps 上的 Angular 5 项目。我从同一个分支(主)推送到开发/测试和生产。我为我的构建设置了 environment.ts 文件,因此当我从 master 构建项目时,它会根据我构建的环境来选择 BaseAPIURL。我的 master 分支始终使用使用 run-script build --env=dev 的命令。
我想要实现的目标:我想针对不同的环境制定一个构建和多个“发布”计划。默认情况下,在构建时,所有 Angular 代码都会转换为我的“dist”文件夹中的 .js 文件。环境变量存在于main.bundle.js 中。如何在发布期间转换/修改该文件?
【问题讨论】:
-
我认为任何 JS 代码在构建后修改是个坏主意。有一个选项可以使用
APP_INITIALIZER工厂,它可以从任何地方获取一些配置(我通过http.get从assets文件夹中的json 文件获取它),您可以在其中设置所有环境及其相应的设置。然后你只需要选择你需要的。 -
APP_INITIALIZER 能否获取在 DevOps Azure 上为各个版本定义的变量?
-
不确定。试着检查一下。
-
@HereToLearn_ 你检查我的答案了吗?
标签: javascript angular azure-devops angular5 azure-pipelines