AngularJS 2.0编译为ES6
在关于
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: 修改TypeScript编译器选项后,它们显示如下: 我开始收到以下错误: Error TS2300: Duplicate identifier 'Promise' 有没有人见过这个?我怀疑它与AngularJS 2.0 Quickstart有关,它指定了ES-6 Promise并且它正在全局安装,但是无法弄清楚如何解决它. 非常感谢你提前.
对于目标es6,应该允许系统. amd工作的事实实际上是一个bug.
目标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的更多信息 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |