使用以下打字稿和角度编译器配置:
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "es2015",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"noEmitHelpers": true,
"skipDefaultLibCheck": true,
"strictNullChecks": false,
"outDir": "tmp"
},
"exclude": [
"node_modules",
"compiled",
"app/main.ts"
],
"angularCompilerOptions": {
"genDir": "compiled",
"skipMetadataEmit" : true
}
}
/compiled 目录仅包含 /node_modules/@angular,而缺少所需 ngfactory 文件的 /app 目录。编译以静默方式结束,没有错误也没有输出。
它适用于 Typescript 2.0,但我想在针对 es5 时使用 2.1 来支持 async/await,从而消除使用 babel 的额外编译步骤。
[编辑]
这只发生在Typescript 2.1.0-dev.20160907和之后,也就是实现异步/等待支持的时候。我猜这是该版本中发生的变化之一ngc
;2.1.0-dev.20160906 仍然有效。
[编辑2]
如果有人尝试使用ngc
typescript 2.1,如果它适合你,你能留下简短的评论吗?这至少会告诉我问题是否与我的配置有关。