首页 > 解决方案 > Angular 5 - 使用 ng build 和 uglify 和 minify 进行开发/QA 构建(如 ng build --prod)

问题描述

我正在使用 angular5 和 angular-cli 并且需要对可以在浏览器的检查器工具中查看的代码进行 uglify/minify。我的 angular-cli.json 有:

"environmentSource": "environments/environment.ts",
"environments": {
    "dev": "environments/environment.ts",
    "prod": "environments/environment.prod.ts"
}

对于生产,通过ng build --prod可以正常运行, 但这只能用于生产环境。我想为开发环境做同样的事情,但我无法实现它。我已经尝试了除了 --enviornment 之外的大多数带有 prod 值的 build 选项:

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

但这对我不起作用。不为这个环境创建丑陋的代码(这里是开发)。

如何在其他环境中使用相同的构建命令?如何在其他环境中使用产品优化?

标签: angularangular5angular-cli

解决方案


如果您想dev environment.ts在优化中使用您的值--prod,只需使用标志指定:

ng build --prod --environment=dev

这会应用--prod设置,但会覆盖--environment将使用的环境文件。

在更改为 的较新 Angular CLI 版本中angular.json,替换--environment--configuration. 由于默认配置使用environment.ts,只需将一个空字符串传递给它,这样环境文件就不会被覆盖,例如--prod --configuration=


推荐阅读