运行ng build --prod时到底发生了什么?

时间:2018-01-23 15:23:50

标签: angular angular-cli

使用旧版Firefox (50.1.0)的客户表示我公司开发的角度应用未加载

经过一番调查,我发现了罪魁祸首:ng build --prod

根据angular-cli's github docAngular's official doc,ng build --prod是元标记

--aot --environment=prod --output-hashing=all --sourcemaps=false --extract-css=true --named-chunks=false --build-optimizer=true

这可能不是全部真相,因为当使用ng build --prod我的应用程序无法在Firefox 50.1.0上加载时,但是当使用所有标记组合时,它可以正常工作

我的问题:还有哪些附加标志--prod add?

3 个答案:

答案 0 :(得分:2)

这是生产标志使用的所有内容:

- Ahead-of-Time (AOT) Compilation: pre-compiles Angular component templates.
- Production mode: deploys the production environment which enables production mode.
- Bundling: concatenates your many application and library files into a few bundles.
- Minification: removes excess whitespace, comments, and optional tokens.
- Uglification: rewrites code to use short, cryptic variable and function names.
- Dead code elimination: removes unreferenced modules and much unused code.

答案 1 :(得分:1)

答案是--target=production

使用时,似乎会导致早期Firefox版本出现问题。见here

答案 2 :(得分:0)

根据我的经验构建 - 不能接受的工作。
使用" ng build --prod --env = prod"来代替。
它的工作对我来说。

----编辑----- 当使用ng build --prod时,它从environment.prod.ts获取变量。