首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ionic 2: ngc编译失败(元数据发送需要将sourceFiles传递给WriteFileCallback)

Ionic 2: ngc编译失败(元数据发送需要将sourceFiles传递给WriteFileCallback)
EN

Stack Overflow用户
提问于 2016-10-04 17:16:38
回答 1查看 518关注 0票数 0

我正在尝试使用ngc和typescript@next来编译我的ionic 2 rc应用程序:

代码语言:javascript
复制
[ben@ben app2] $ ./node_modules/.bin/ngc -p tsconfig.json 
Error: Metadata emit requires the sourceFiles are passed to WriteFileCallback. Update to TypeScript ^1.9.0-dev
    at MetadataWriterHost.writeFile (/home/ben/blindmate/app2/node_modules/@angular/tsc-wrapped/src/compiler_host.js:97:23)
    at Object.writeFile (/home/ben/blindmate/app2/node_modules/typescript/lib/typescript.js:58205:132)
    at Object.writeFile (/home/ben/blindmate/app2/node_modules/typescript/lib/typescript.js:8508:14)
    at printFile (/home/ben/blindmate/app2/node_modules/typescript/lib/typescript.js:55459:16)
    at emitFile (/home/ben/blindmate/app2/node_modules/typescript/lib/typescript.js:55409:21)
    at onSingleFileEmit (/home/ben/blindmate/app2/node_modules/typescript/lib/typescript.js:8415:13)
    at Object.forEachTransformedEmitFile (/home/ben/blindmate/app2/node_modules/typescript/lib/typescript.js:8392:21)
    at Object.emitFiles (/home/ben/blindmate/app2/node_modules/typescript/lib/typescript.js:55392:12)
    at emitWorker (/home/ben/blindmate/app2/node_modules/typescript/lib/typescript.js:58256:33)
    at /home/ben/blindmate/app2/node_modules/typescript/lib/typescript.js:58219:66

我无法更改我的typescript版本(@next),因为我需要支持async / await。有没有办法在不安装typescript@1.9.0的情况下修复这个错误?

我的tsconfig如下所示:

代码语言:javascript
复制
{


"compilerOptions": {
    "allowSyntheticDefaultImports": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": [
      "dom",
      "es2015"
    ],
    "module": "es2015",
    "moduleResolution": "node",
    "target": "es5"
  },
  "exclude": [
    "node_modules",
    ".tmp",
    "src/app/main.prod.ts"
  ],
  "compileOnSave": false,
  "atom": {
    "rewriteTsconfig": false
  }
}
EN

回答 1

Stack Overflow用户

发布于 2016-10-16 04:41:35

我一直在探索同样的事情,似乎Angular 2AOT编译器,至少是Ionic2 RC0使用的版本,在这一点上与TypeScript 2.1的预发布版本并不完全兼容。

如果您恢复到Ionic 2 RC0使用的Ionic 2.0版本,它将正常工作。你将不得不放弃异步/等待,但你并不真的需要异步/等待,因为你可以通过显式地创建和消费Promise来有效地编写相同的代码。它就是不那么简洁或富有表现力。:)这就是说,我希望异步/等待可能和你一样多,也会对尽快让它工作感兴趣。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39848499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档