main.ts 引导程序

应用的主入口点。
使用 JIT 编译器编译应用,并引导应用的根模块 AppModule 来运行在浏览器中。你也可以为 CLI 的 build 和 serve 命令添加 --aot 标志,来使用 AOT 编译器 而不必修改任何代码。

import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';

import { AppModule } from './app/app.module';
import { environment } from './environments/environment';

if (environment.production) {
  enableProdMode();
}

platformBrowserDynamic().bootstrapModule(AppModule);

与应用程序启动先关的代码原则上都放到这里。

延伸学习:

  • 即时 (just-in-time, JIT) 编译
    在启动期间,Angular 的即时编译器(JIT)会在运行期间把你的 HTML 和 TypeScript 代码转换成高效的 JavaScript 代码。

当你运行 Angular 的 CLI 命令 ng build 和 ng serve 时,JIT 编译是默认选项,而且是开发期间的最佳实践。但是强烈建议你不要在生产环境下使用 JIT 模式,因为它会导致巨大的应用负担,从而拖累启动时的性能。

预 (ahead-of-time, AOT) 编译
Angular 的预先(AOT)编译器可以在编译期间把你的 HTML 代码和 TypeScript 代码转换成高效的 JavaScript 代码,这样浏览器就可以直接下载和运行它们。

使用命令行工具 ngc 来编译你的应用之后,就可以直接启动一个模块工厂,这意味着你不必再在 JavaScript 打包文件中包含 Angular 编译器。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前两天,Jigsaw七巧板上来了个issue https://github.com/rdkmaster/jigsa...
    阿踏阅读 3,297评论 0 5
  • WebAssembly 系列(一)生动形象地介绍 WebAssemblyWebAssembly 系列(二)Java...
    合肥黑阅读 7,558评论 0 9
  • 为什么需要编译 Angular应用中包含的组件、HTML模板(比如:@Directive、@Component、@...
    OnePiece索隆阅读 2,953评论 3 4
  • 大纲 1、angular应用为什么需要编译2、angular的编译模式类型3、JIT(Just-In-Time)4...
    前端路上的小兵阅读 1,445评论 0 3
  • 那个十字路口 你闭上的眼睛再无法回首 孩子一声声的哭喊 永远没有了回音 你离开的瞬间 有没有想念亲人的身影 还有多...
    春天的麦笛阅读 208评论 4 11