未知的编译器选项' angularCompilerOptions'在角度2提前编译

时间:2016-11-03 16:51:53

标签: angular angular2-cli angular2-compiler

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

重现的步骤:

  1. 克隆此回购:https://github.com/AngularClass/angular2-webpack-starter

  2. 安装compiler-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

    < / LI>
  4. 创建tsconfig-aot.json

    {     &#34; compilerOptions&#34;:{         &#34;目标&#34;:&#34; es5&#34;,         &#34;模块&#34;:&#34; es2015&#34;,         &#34; moduleResolution&#34;:&#34; node&#34;,         &#34; sourceMap&#34;:是的,         &#34; emitDecoratorMetadata&#34;:true,         &#34; experimentalDecorators&#34;:是的,         &#34;删除评论&#34;:false,         &#34; noImplicitAny&#34;:是的,         &#34; suppressImplicitAnyIndexErrors&#34;:true     },
        &#34; angularCompilerOptions&#34;:{         &#34; genDir&#34;:&#34; aot&#34;,         &#34; skipMetadataEmit&#34; :是的     } }

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

1 个答案:

答案 0 :(得分:4)

我刚遇到同样的问题并通过确保&#34; @ angular / compiler&#34;:&#34; 2.1.1&#34;来解决它。和&#34; @ angular / compiler-cli&#34;正在使用相同的版本号。例如&#34; @角/编译-CLI&#34;应该是&#34; 2.1.1&#34;匹配编译器版本。