我已经从ngx-admin构建了一个角度应用程序,并将其部署到了Github Pages。现在我想让它运行特定的配置,例如qa
或prod
。
运行npm run build:qa
-> "build:qa": "npm run build -- --qa --aot",
时出现错误:
Unknown option: '--qa'
...即使我在angular.json中指定了qa
:
"configurations": {
"qa": {
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.qa.ts"
}
]
},
通常,在本地,我使用Node通过以下方式提供内容:
npm start:qa
在package.json中调用以下配置...
"start:qa": "ng serve --host 0.0.0.0 --port 4200 --configuration=qa"
在构建应用程序时,我指定:
npm run build:qa
在package.json中调用以下配置...
"build:qa": "npm run build -- --qa --aot"
构建失败。
鉴于Angular 7中已弃用angular-cli.json,我如何定义自己的构建配置,以便可以在没有Node的情况下托管特定于环境的配置?
答案 0 :(得分:0)
看来Angular 7现在在声明中支持--configuration
:
"build:qa": "npm run build -- --configuration=qa --aot",
。
运行npm run build:qa
并在angular.json的"build:qa": "npm run build -- --configuration=qa --aot",
部分调用"scripts"
时,我看到所需的环境。qa.ts已正确替换到位。
我相信让我感到困惑的是我在angular.json的prod
部分中指定了"configurations"
,并且调用npm run build -- --prod --aot
未能找到production
。密钥production
似乎是在Angular软件包中的某个地方硬编码的。
答案 1 :(得分:0)
使用此npm脚本
“ build:qa”:“ npm run build---configuration = qa --aot”,