Angular 2/4/5 - 提前编译如何

时间:2016-08-13 11:24:33

标签: angular typescript

我正在尝试按照本指南引导我的Angular 2 RC5应用程序 https://angular.io/docs/ts/latest/guide/ngmodule.html 以下是我的代码

import { AppModuleNgFactory } from './app.module.ngfactory';
import {platformBrowser} from "@angular/platform-browser";

platformBrowser().bootstrapModuleFactory(AppModuleNgFactory);

然而,当我尝试编译打字稿代码时,我收到以下错误

  

app \ main.ts(1,36):错误TS2307:找不到模块   './app.module.ngfactory'。

如何生成 app.module.ngfactory 文件?我应该使用哪种工具?

1 个答案:

答案 0 :(得分:28)

2017年更新

截至2017年1月如果使用angular-cli ,AOT编译现在是运行以下命令ng build --prod时的默认编译方法,无需更改代码。

如果要禁用AOT而是在生产中使用JIT,则可以使用ng build --prod --no-aot

来源:https://github.com/angular/angular-cli/issues/4138

这意味着您仍然可以使用ng build进行开发(使用.ts进行更快速编译时)使用JIT编译,并将// The browser platform with a compiler import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; // The app module import { AppModule } from './app/app.module'; // Compile and launch the module platformBrowserDynamic().bootstrapModule(AppModule); 保留为:

ng build                    // build with JIT
ng build --prod --no-aot    // build with JIT 
ng build --prod             // build with AOT

<小时/> 总结:

$(function() {
   $('#myText').trigger(jQuery.Event('keypress', { keyCode: 65 })).val($("#myText")
   .val() + String.fromCharCode(65));
});