我试图在AOT angular 2项目中使用this编译器。我收到错误:执行命令时TypeError: this.compiler.compileModules
不是函数:"node_modules/.bin/ngc" -p tsconfig-aot.json
。
如何解决这个问题?
重现的步骤:
克隆此回购:https://github.com/AngularClass/angular2-webpack-starter
安装compiler-cli(版本2.1.2):npm install @ angular / compiler-cli --save
从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
)
创建tsconfig-aot.json
:
{
" compilerOptions":{
"目标":" es5",
"模块":" es2015",
" moduleResolution":" node",
" sourceMap":是的,
" emitDecoratorMetadata":true,
" experimentalDecorators":是的,
"删除评论":false,
" noImplicitAny":是的,
" suppressImplicitAnyIndexErrors":true
},
" angularCompilerOptions":{
" genDir":" aot",
" skipMetadataEmit" :是的
}
}
运行"node_modules/.bin/ngc" -p tsconfig-aot.json
答案 0 :(得分:4)
我刚遇到同样的问题并通过确保" @ angular / compiler":" 2.1.1"来解决它。和" @ angular / compiler-cli"正在使用相同的版本号。例如" @角/编译-CLI"应该是" 2.1.1"匹配编译器版本。