5
A
回答
6
我们使用angular2特有语法(如ngFor
)或管道或数据绑定材料的模板需要编译为vm友好代码,浏览器可以读取该代码。
为了及时编译(常规行为),框架需要运送角编译器,并在应用程序启动时在浏览器上编译模板。这意味着更高的捆绑包角度必须出货,并且加载时间更长,因为浏览器必须先编译模板才能呈现模板。
这与我们如何在浏览器中打印打字稿相似。由于这是昂贵的过程,因此我们一般在捆绑或构建过程时将离线脚本脱机。
呈现模板离线给出一些优惠,如
- 较小的集束大小:在angular2库的60%是编译器。现在模板已经提前编译了,我们不需要再编译编译器了。这减少了应用程序需要发送的包的大小
- 更快的加载时间:由于模板已经编译为VM友好的代码,因此浏览器不需要时间来渲染模板。导致更快的页面渲染。
1
Angular2文档: https://angular.io/docs/ts/latest/guide/deployment.html#!#aot
的角度名列前茅的时间预编译编译生成过程中的应用组件和它们的模板。
由于多种原因,使用AOT编译的应用程序启动速度更快。
Application components execute immediately, without client-side compilation. Templates are embedded as code within their components so there is no client-side request for template files. You don't download the Angular compiler, which is pretty big on its own. The compiler discards unused Angular directives that a tree-shaking tool can then exclude.
相关问题
- 1. Vue 2 AOT提前编译
- 2. Angular2 AoT 404加载编译脚本时
- 3. Angular2 AoT编译器没有ngfactory文件?
- 4. Angular2:动态组件创建:AOT编译
- 5. Angular AoT编译
- 6. 什么是皮棉角2,4,5模板HTML文件之前,AOT编译
- 7. Angular2 AOT编译错误:createAotCompiler不是一个函数
- 8. 为基于Java的应用程序实现提前编译(AOT)
- 9. AoT编译中的Angular2主机绑定问题
- 10. AOT(提前编译)对于离子2/3移动浏览器
- 11. 角2 - AOT编译
- 12. 使用Angular2的AoT ngc编译器获取TypeError与RC5
- 13. Angular2 AOT编译懒加载的模块和systemjs
- 14. AOT编译或本地代码编译Scala?
- 15. Angular2 AOT编译器一直要求名称
- 16. AOT编译中的警告和错误
- 17. Angular 2,Webpack 2,AoT编译
- 18. useFactory vs useValue与AoT编译
- 19. 为什么Clojure在AOT编译期间评估表单?
- 20. 为什么在java.base一些方法不能被AOT编译器
- 21. 如何在Angular中正确编译AOT
- 22. AOT在角库中编译错误
- 23. Angular2 AOT动态HTML
- 24. 编译后代码中的'()'是什么?
- 25. 什么是C(或ML)在创建编译器中的角色?
- 26. 模板,什么是编译
- 27. 什么是Fortran编译器?
- 28. Angular2 - 在组件模板中使用绝对路径编译为AOT
- 29. 提前编译代码和本机编译代码之间的区别是什么
- 30. 什么是编译模板和/或编译模板的正确过程?
http://stackoverflow.com/questions/39464319/how-does-angular2-ahead-of-time-aot-compilation-work – yurzui
感谢您的链接的可能DUP,我已经审查它,但仍然在寻找一种确切的定义 –