从 开始angular 9
,Angular 开始使用一个名为的新渲染器引擎IVY
,正如其文档所述,构建的代码在 dev 和 prod 环境中看起来相同并且易于调试,是否仍然需要在构建代码时传递--prod
和--aot
选项
旧的构建命令
ng build --aot --prod
是不是新命令应该看起来像
ng build //for both prod and dev build
或者--prod
产品构建只需要该选项
从 开始angular 9
,Angular 开始使用一个名为的新渲染器引擎IVY
,正如其文档所述,构建的代码在 dev 和 prod 环境中看起来相同并且易于调试,是否仍然需要在构建代码时传递--prod
和--aot
选项
旧的构建命令
ng build --aot --prod
是不是新命令应该看起来像
ng build //for both prod and dev build
或者--prod
产品构建只需要该选项
Aot 从来都不是必需的,它在生产构建中默认设置为打开,在开发中默认设置为关闭。由于速度的提高,现在 aot 已成为所有环境的标准配置。因此,对于开发构建,您可以:
ng build
并用于生产构建
ng build --prod
你可以检查你的 angular.json 文件,看看哪个设置做了什么。所做的--prod
不仅仅是打开提前编译器。在此构建期间正在进行许多其他优化
TLTR; 使用例如
--aot
标志时不需要--prod
ng build --prod
ng build
当您运行(仅构建)或ng serve
(在本地构建和服务)CLI 命令时,JIT 编译是默认的。对于 AOT 编译,在or命令中包含该--aot
选项:ng build
ng serve
ng build --aot
ng serve --aot
ng build
带有--prod
元标志 (ng build --prod
) 的命令默认使用 AOT 编译
您可以自定义angular.json
包含aot
特定命令的默认值,以下是添加 aot 的方法build
:
"build": {
options {
...
"aot": true,
}
}
AOT
build
并由serve
Angular 团队推荐,但尚未默认。更多细节在这里
默认 aot 值取决于您正在运行的角度版本:
Angular 提供了两种编译应用程序的方法: