Angular 2 提前编译中的未知编译器选项“angularCompilerOptions”
Posted
技术标签:
【中文标题】Angular 2 提前编译中的未知编译器选项“angularCompilerOptions”【英文标题】:Unknown compiler option 'angularCompilerOptions' in angular 2 ahead-of-time compilation 【发布时间】:2017-03-17 08:53:01 【问题描述】:我正在尝试在this angular 2 项目中使用AOT 编译器。我收到错误:TypeError: this.compiler.compileModules
is not a function 当我执行命令时:"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/app.routes.ts
中删除src/app/+detail
目录和detail
路由器(我这样做是因为"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
:
“编译器选项”: “目标”:“es5”, “模块”:“es2015”, "moduleResolution": "节点", “源地图”:是的, “emitDecoratorMetadata”:真, “experimentalDecorators”:是的, “删除评论”:假, “noImplicitAny”:是的, “suppressImplicitAnyIndexErrors”:真 , “角编译器选项”: "genDir": "aot", “skipMetadataEmit”:真
运行"node_modules/.bin/ngc" -p tsconfig-aot.json
【问题讨论】:
【参考方案1】:我刚刚遇到了同样的问题,并通过确保 "@angular/compiler": "2.1.1" 和 "@angular/compiler-cli" 使用相同的版本号来解决它。例如"@angular/compiler-cli" 应该是 "2.1.1" 以匹配编译器版本。
【讨论】:
是的,同样的问题和同样的解决方案,似乎@angular/compiler 和@angular/compiler-cli 应该是同一个版本,在我的例子中是2.1.2 如果在 angular@4 中出现同样的问题该怎么办以上是关于Angular 2 提前编译中的未知编译器选项“angularCompilerOptions”的主要内容,如果未能解决你的问题,请参考以下文章
Angular 中的即时 (JiT) 与提前 (AoT) 编译
未知编译器选项“文件”正在启动 ./node_modules/.bin/ng-xi18n
无法在 macOS“Big Sur”和 python 3.8 中编译 pip 包:“ld:未知选项:-Bsymbolic”