Angular 为什么我们需要设置--aot false";在有角度的产品制造中?
我知道“Angular 为什么我们需要设置--aot false";在有角度的产品制造中?,angular,angular-cli-v7,Angular,Angular Cli V7,我知道“提前编译”在构建时提供编译。--aot还有许多其他优点,例如 应用程序是预编译的,因此没有这样的等待模板 绑定错误将在构建时已知,等等 但是,还有一个选项可以将--aot设置为false(对于产品构建也是如此)。为什么我们需要将--aot设置为false?换句话说,--jit提供了什么样的优势?我只是想了解使用--aot而不是--jit是否有任何缺点,因为否则,即使在开发构建中,我也应该始终使用--aot。如果使用--aot没有折衷,那么为什么不将它设置为ng build和ng se
提前编译
”在构建时提供编译。--aot
还有许多其他优点,例如
- 应用程序是预编译的,因此没有这样的等待模板
- 绑定错误将在构建时已知,等等
但是,还有一个选项可以将
--aot
设置为false(对于产品构建也是如此)。为什么我们需要将--aot
设置为false
?换句话说,--jit
提供了什么样的优势?我只是想了解使用--aot
而不是--jit
是否有任何缺点,因为否则,即使在开发构建中,我也应该始终使用--aot
。如果使用--aot
没有折衷,那么为什么不将它设置为ng build
和ng serve
的默认值呢?正如@Ingo Burk在评论中提到的那样,我得到了同样的结果,所以我想把它作为一个答案发布
- Angular 9现在实际使用AOT作为默认值李>
- AOT比JIT需要更长的时间(因此,对于一些小补丁的快速测试,它可能很有用)
然而,在版本5及更高版本中,编译器在发出.js文件时自动执行此重写。从历史上看,AOT的速度要慢得多,因此JIT是本地开发的首选方式。对于Angular 9和Ivy,AOT是默认的,即使对于开发构建也是如此。