2

我正在尝试在这个Angular 2 项目中使用AOT编译器。执行命令时出现错误:不是函数:。如何解决这个问题?TypeError: this.compiler.compileModules"node_modules/.bin/ngc" -p tsconfig-aot.json

重现步骤:

  1. 克隆这个仓库:https ://github.com/AngularClass/angular2-webpack-starter

  2. 安装编译器-cli(2.1.2 版): npm install @angular/compiler-cli --save

  3. 从中删除src/app/+detail目录和detail路由器src/app/app.routes.ts(我这样做是因为"node_modules/.bin/ngc" -p tsconfig-aot.json输出错误can't resolve module src/app/+detail/index.ts from src/app/+detail/index.ts:)

  4. 创建tsconfig-aot.json

    {“compilerOptions”:{“target”:“es5”,“module”:“es2015”,“moduleResolution”:“node”,“sourceMap”:true,“emitDecoratorMetadata”:true,“experimentalDecorators”:true,“removeComments “:假,“noImplicitAny”:真,“suppressImplicitAnyIndexErrors”:真},
    “angularCompilerOptions”:{“genDir”:“aot”,“skipMetadataEmit”:真}}

  5. "node_modules/.bin/ngc" -p tsconfig-aot.json

4

1 回答 1

4

我刚刚遇到了同样的问题,并通过确保 "@angular/compiler": "2.1.1" 和 "@angular/compiler-cli" 使用相同的版本号来解决它。例如“@angular/compiler-cli”应该是“2.1.1”以匹配编译器版本。

于 2016-11-04T13:19:41.933 回答