Typescript 2.1 加上 Angular2 编译器静默编译项目文件失败(无输出)
Typescript 2.1 coupled with the Angular 2 compiler silently fails to compile project files (no output)
使用以下打字稿和angular编译器配置:
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 之后发生,恰好在实施 async/await 支持时。我猜这是那个版本中破坏的变化之一 ngc
; 2.1.0-dev.20160906 仍然有效。
[编辑2]
如果有人尝试过将 ngc
与 typescript 2.1 一起使用,如果它适合你,你能留下简短的评论吗?这至少会告诉我问题是否出在我的配置上。
问题源于 v2.1 中对 typescript 的一些内部更改,这些更改未在 angular tsc-wrapper 中解决。
它正在修复 pull request。合并后,文件应该再次正常编译。
使用以下打字稿和angular编译器配置:
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 之后发生,恰好在实施 async/await 支持时。我猜这是那个版本中破坏的变化之一 ngc
; 2.1.0-dev.20160906 仍然有效。
[编辑2]
如果有人尝试过将 ngc
与 typescript 2.1 一起使用,如果它适合你,你能留下简短的评论吗?这至少会告诉我问题是否出在我的配置上。
问题源于 v2.1 中对 typescript 的一些内部更改,这些更改未在 angular tsc-wrapper 中解决。
它正在修复 pull request。合并后,文件应该再次正常编译。