[英]es6 modules to commonjs with typescript under node harmony flag
我正在使用带有--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运行。 谢谢!
TypeScript团队将在下一版本中添加对您要查找的内容的支持。 你可以等几个星期/几个月。 或者,您可以将Polyfill用于ES6模块加载器:
有更多的库,比如上面提供的那些库只是检查哪一个为你做的工作,直到官方支持--module
with- --target es6
到来。
tsconfig.json
{
"compilerOptions": {
"target":"ES6",
"moduleResolution": "classic",
}
}
"moduleResolution": "classic"
moduleResolution”而导致的import
内容"moduleResolution": "classic"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.