在Angular 2中,我相信你必须使用:

enableProductionMode()

在environment.prod.ts文件中调用。
然后我可以打电话给:
ng b -prod

但在角度5+时,我可以做以下事情:
ng b -- --prod --aot

我不需要environment.prod.ts文件
两种运行PRD的方式有什么不同,它们是相同的吗?

最佳答案

不确定你说的对。
在所有版本的角度中,prod标志仅仅是生产模式的速写:它使AOT(在以前的版本中,现在是默认的,--aot),文件名哈希,缩小,UsGoice(--optimization为所有3),…
…它使用一个特定的环境文件。大多数时候文件被称为“cc>”,但这是一个巧合:要使用的文件在environment.prod.ts文件中声明。
如果不需要angular.json环境文件,则可能意味着您的.prod.ts目标配置使用另一个文件,而不是production。但那是因为你的项目,而不是命令行。
只有当您的环境文件将.prod.ts标志设置为true时,才会调用enableProdMode()(您将在main.ts中找到该标志):它不会决定您是否处于生产模式,环境文件会。
最后,关于命令行:在最新版本的angular中,它们切换到POSIX notation,这迫使人们使用双连字符production表示单词,使用单连字符表示字母(或字母组合)。
--(没有任何标志的双连字符)意味着将这些连字号发送到原始命令。
NG对此并不十分清楚,而是使用NPM来理解这一点:

npm run start -- --prod

将运行
ng serve --prod

因为在-- --prod文件中,package.json的默认命令是
"start": "ng serve",

关于angular - Angular :--prod vs -prod,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53174588/

10-12 07:00