我尝试使用带有typescript @ next的ngc编译我的离子2 rc应用程序:
around 'update_model'
我无法更改我的打字稿版本(@next),因为我需要支持async / await。有没有办法修复此错误而不安装typescript@1.9.0,因为错误消息建议?
我的tsconfig看起来像这样:
[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
答案 0 :(得分:1)
我一直在探索同样的事情,似乎Angular 2 AOT编译器,至少是Ionic 2 RC0使用的版本,此时与TypeScript 2.1的预发布版本不完全兼容。
如果您恢复为TypeScript 2.0,这是Ionic 2 RC0使用的版本,它将起作用。您将不得不放弃异步/等待,但您并不真正需要 async / await,因为您可以通过显式创建和使用Promise来有效地编写相同的代码。它不是那么简洁或富有表现力。 :)那就是说,我想要 async / await可能和你一样多,并且也有兴趣让它尽快运行。