angular2 引导问题(学习心得)

来源:互联网 发布:程序员随身携带必备 编辑:程序博客网 时间:2024/06/03 23:04

angular2 引导问题(学习心得)

近段时间一直在看angular2,在项目中也遇到了大大小小的问题。
关于angular2中项目的引导问题。
Angular2通过在main.ts中引导AppModule来启动应用。针对不同的平台,Angular提供了很多引导选项。下面的代码是通过即时(JiT)编译器动态引导,一般在用命令行创建出来,默认采用这种方式。

  // 连同Angular编译器一起发布到浏览器import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';import { enableProdMode } from '@angular/core';import { environment } from './environments/environment';import { AppModule } from './app/';if (environment.production) {  enableProdMode();}//Angular编译器在浏览器中编译并引导该应用platformBrowserDynamic().bootstrapModule(AppModule);  

上面的AppModule即是项目加载的根模块

另一种方式是使用预编译器(AoT - Ahead-Of-Time)进行静态引导,静态引导的好处在于可以生成更小,启动更快的应用。在移动设备或高延迟网络在建议优先使用它,使用static选项,Angular编译器作为构建流程的一部分提前运行,生成一组类工厂。它们的核心就是AppModuleNgFactory。引导预编译的AppModuleNgFactory的语法和动态引导AppModule类的方式很相似。

// 不把编译器发布到浏览器import { platformBrowser } from '@angular/platform-browser';// 静态编译器会生成一个AppModule的工厂AppModuleNgFactoryimport { AppModuleNgFactory } from './app.module.ngfactory';// 引导AppModuleNgFactoryplatformBrowser().bootstrapModuleFactory(AppModuleNgFactory);

使用预编译可以提高访问速率。