我正在使用angular5和angular-cli,并且要求将可在浏览器的检查器工具中查看的代码压缩/最小化。 我的angular-cli.json具有:
"environmentSource": "environments/environment.ts",
"environments": {
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts"
}
对于生产来说,通过 ng build --prod 可以正常运行 但这只能用于生产环境。 我想为开发人员环境做同样的事情,但我无法实现。 除了--enviornment之外,我已经尝试了使用prod值构建的大多数选项:
Flag --dev --prod
--aot false true
--environment dev prod
--output-hashing media all
--sourcemaps true false
--extract-css false true
--named-chunks true false
--build-optimizer false true with AOT and Angular 5
例如
ng build --aot=true --output-hashing=all --sourcemaps=false --extract-css=true --named-chunks=false --build-optimizer true
但这对我不起作用。没有为此环境创建丑化的代码(此处为dev)。
如何在其他环境中使用相同的构建命令?如何在其他环境中使用产品优化?
答案 0 :(得分:1)
您可以通过在angular.json
文件或"environments": {
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts",
"qa": "environments/environment.qa.ts"
}
上定义新环境来实现此目的
angular-cli.json:
"configurations": {
"production": { ... },
"qa": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.qa.ts"
}
]
}
}
angular.json:
environment.qa.ts
接着在环境目录中创建import
。
通过here
了解更多信息答案 1 :(得分:1)
如果您想在dev
优化中使用environment.ts
--prod
值,只需用标志指定即可:
ng build --prod --environment=dev
这将应用--prod
设置,但会覆盖将使用其环境文件的--environment
。
在新的Angular CLI版本中,将angular.json
更改为--environment
。由于默认配置使用--configuration
,因此只需向其传递一个空字符串,这样环境文件就不会被覆盖,例如environment.ts