编译与部署

Angular中提供了两种方式来进行编译:
1.即时编译(JIT),它会在运行期间在浏览器中编译你的应用
2.预先编译(AOT),它会在构建时编译你的应用
当运行ng build(仅编译)或者ng serve(编译并启动本地服务器)这两个cli命令时,JIT是默认的编译方式。要想使用aot编译需要使用命令

ng build --aot
ng serve --aot
带有--prod标志的ng build命令(ng build --prod)会默认使用aot编译

aot编译也就是在编译阶段aot编译器会将浏览器不能识别的angular组件和模板编译成js代码。
使用aot编译的好处是:
1.使用aot编译,浏览器下载的是预编译版本的应用程序,浏览器可以直接加载运行代码,所以渲染速度更快。
2.aot编译器会将外部html模板和css样式表内联到该应用的js中,消除了下载这些源文件的ajax请求。
3.如果应用已经编译过了,就不再需要下载angular编译器了,而改变一起差不多占据了angular自身体积的一半,所以可以显著减少应用的体积。
4.aot编译在构建过程中检测和报告模板绑定的错误,避免用户遇到这些错误。
5.aot方式会在发给客户端之前就把模板和组件编译成js文件,就不需要读取模板或者在客户端组装html等,减少了注入类攻击。

你可能感兴趣的:(编译与部署)