我正在使用带有--harmony标志下的节点的TypeScript(1.6),所以我想将es6模块语法转换为commonjs .
据我所知,我不能用TypeScript 1.6做到这一点 . 如果我将目标设置为es6,将模块设置为commonjs,则会出现TypeScript错误 -
当定位'ES6'或更高版本时,无法将模块编译为'commonjs','amd','system'或'umd' .
为什么TypeScript不会编译为带有ES6目标的commonjs?我想很多人都想这样做,因为节点还不支持ES6模块 .
我认为新的moduleResolution编译器选项可能会解决这个问题,但它似乎没有做任何事情 .
目前,我不得不使用babel将模块语法转换为commonjs,但我想从我的构建中删除babel,以便我可以利用源映射 .
有没有办法实现这个目标?注意:我不想转发到ES5 . 我希望我的JS在和谐旗下运行为ES6 . 谢谢!
1 回答
TypeScript团队将在the next release中添加对您要查找的内容的支持 . 你可以等几个星期/几个月 . 或者,您可以将Polyfill用于ES6模块加载器:
es6-module-loader
SystemJS
有更多的库像上面提供的那些库只是检查哪一个为你完成工作,直到
--module
与--target es6
的官方支持到达 .更新
tsconfig.json
ES6支持发电机
没有
import
由于"moduleResolution": "classic"
而发生的事情