在关于
AngularJS 2.0 TypeScript Intellij idea (or webstorm) – ES6 import syntax的Stackoverflow答案之后,我可以在我的IntelliJ IDEA 14.1.4中使用
AngularJS 2.0 5 Minute Quickstart.
但是,这似乎是针对将TypeScript编译为EcmaScript 5.
我想看看我是否可以将AngularJS 2.0 Typescript编译成EcmaScript 6.
问题1:当我将TypeScript编译器更改为目标ES6时…
我开始收到TypeScript编译器错误:
Error: TS1204: Cannot compile modules into 'commonjs','amd','system',or 'umd' when targeting 'ES6' or higher.
我可以通过删除–module“amd”TypeScript编译器选项来解决它.
这确实提出了一个问题:没有指定amd,ES6使用什么样的模块格式?
问题2:
我开始收到以下错误:
Error TS2300: Duplicate identifier 'Promise'
有没有人见过这个?我怀疑它与AngularJS 2.0 Quickstart有关,它指定了ES-6 Promise并且它正在全局安装,但是无法弄清楚如何解决它.
非常感谢你提前.
without specifying amd,what sort of module format is ES6 using?
对于目标es6,应该允许系统. amd工作的事实实际上是一个bug.
Duplicate identifier ‘Promise’
目标es6 lib.d.ts更改为lib.es6.d.ts(this file),其中包含Promise的包含定义.
推荐修复:
>使用–nolib编译并包含lib.d.ts into your project
有关lib.d.ts http://basarat.gitbooks.io/typescript/content/docs/types/lib.d.ts.html的更多信息