4

使用以下打字稿和角度编译器配置:

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]

如果有人尝试使用ngctypescript 2.1,如果它适合你,你能留下简短的评论吗?这至少会告诉我问题是否与我的配置有关。

4

1 回答 1

4

该问题源于 v2.1 中 typescript 的一些内部更改,这些更改未在 angular tsc-wrapper 中解决。

它已在此拉取请求中得到修复。合并后,文件应再次正常编译。

于 2016-12-08T21:14:07.387 回答