【问题标题】:angular cli 6 custom options for build (environment variables)angular cli 6 自定义构建选项(环境变量)
【发布时间】:2018-12-26 14:14:21
【问题描述】:
好吧,我不喜欢在版本控制中使用环境变量,因为我希望能够在不重新部署应用程序的情况下配置应用程序。
我有一个问题。如何从 ng build 命令添加 angular cli 6 自定义选项?
例如我想: ng build --api-url="http:/my-url.com"
也就是说,如何设置环境变量?
【问题讨论】:
标签:
angular
angular-cli-v6
【解决方案1】:
我相信这可能会对你有所帮助。
对于我自己的项目,我有4个环境文件,
- environment.ts(对于我的本地主机)
- environment.dev.ts(用于我的开发测试服务器)
- environment.staging.ts(用于我的暂存测试服务器)
- environment.prod.ts(用于我项目的生产服务器)
所有 4 个文件都有不同的 API URL(我的项目 API 调用的基本 URL),所以我需要为每个环境自定义构建。
现在我相信你的情况或多或少是一样的,所以我建议你创建不同的环境文件。
然后在你的angular.json文件中,你需要定义这些配置如下:
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
...
...
...
...
},
"staging": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.staging.ts"
}
],
...
...
...
...
},
"dev": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.dev.ts"
}
],
...
...
...
...
}
}
定义完所有配置后,你需要做的就是运行带有配置选项的 ng build 命令。
- 对于开发人员
ng build --configuration=dev
- 用于暂存
ng build --configuration=staging
- 用于生产
ng build --configuration=production
就是这样。现在您的构建将使用正确的环境文件。