Angular2引导方式:基于JIT的动态引导和基于AOT的静态引导
Angular2引导方式:基于JIT的动态引导和基于AOT的静态引导 在Angular2,我们会在main.ts里通过引导AppModule来启动应用。针对浏览器,可以选择基于JIT编译器的动态引导和基于AOT编译器的静态引导这两种方式。 基于JIT(Just in Time)编译器的动态引导 在这种方式下,angular会在浏览器端动态编译,然后启动app。 引导使用方式: import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } './app.module';
platformBrowserDynamic().bootstrapModule(AppModule);
基于AOT(Ahead of Time)编译器的静态引导 相对于动态引导,静态引导会预先在build阶段就生成一些工厂类,其中对应AppModule的工厂类为NgAppModuleFactory。 使用静态引导有几个优点:
对于移动设备和一些低延时网络里,这两个有点显得很重要。 在main.ts使用AOT模式 import { platformBrowser } '@angular/platform-browser';
import { AppModuleNgFactory } './app.module.ngfactory';
platformBrowser().bootstrapModuleFactory(AppModuleNgFactory);
这里要注意:app.module.ngfactory文件不需要手动编码,它是编译期自动生成,对应生成AppModuleNgFactory。 JIT和AOT编译器都会生产AppModuleNgFactory,只是方式不一样。JIT在浏览器,缓存里实时生产AppModuleNgFactory 。AOT编译器会生产一个物理文件app.module.ngfactory。AOT模式引入这个文件,然后启动: './app.module.ngfactory'; 生成app.module.ngfactory @angular/compiler-cli提供了tsc和AOT两种编译器,把TypeScript转换为Javascript: 安装ngc npm install @angular/compiler-cli typescript@next @angular/platform-server @angular/compiler
转换 $ ngc -p src (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |