ng build --prod 运行时会发生什么?

3
有一个客户使用的是旧版Firefox浏览器(50.1.0),他说我们公司开发的Angular应用程序无法加载
经过一番调查,我找到了罪魁祸首:ng build --prod
根据angular-cli的Github文档Angular官方文档,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 添加了哪些额外的标志?

3个回答

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
是的,我知道官方文档,但这背后有哪些标志? - Tim

1
所以答案是 --target=production。使用时,它似乎会导致早期版本的 Firefox 出现问题。请参见 这里

0

根据我的经验,ng build --prod 的效果并不如预期。

请改用 "ng build --prod --env=prod"。

这对我来说很有效。

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


在 GitHub 上的文档中写着“# 这些是等价的”。我会尝试看看是否有区别。 - Tim
所以我尝试了一下,结果得到了与--prod相同的错误。就这个问题而言,它们是等价的。 - Tim
错误不重要,它是在.js文件中的“TypeError”。我想知道的是 --prod 如何影响构建 :) - Tim
你有文件environments/environment.prod.ts吗?它会从那里获取变量,例如服务器URL等。 - Avihay m
我不使用它。 - Tim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接