我使用标志为child_process --harmony
的ES6测试节点,但在导入时第一步失败。有什么想法吗?
import {'spawn'} from child_process;
console.log(spawn);
然后我跑起来:
node --harmony test.js
我得到了:
:1
(function (exports, require, module, __filename, __dirname) { import {spawn} f
^^^^^^
SyntaxError: Unexpected token import
发布于 2014-04-15 05:47:08
并非所有的ES6功能在v8中都受支持,因此在节点中也不受支持。我相信模块就是其中之一。
你可能会发现这个兼容性矩阵很方便:http://kangax.github.io/es5-compat-table/es6/
您可以使用Traceur compiler来做这件事,尽管还不是所有的东西都是用it appears模块实现的
2015年12月编辑-正如对此答案的一些评论所表明的那样,在这一点上,巴别塔已经成为首选的ES6转译器。在我写我最初的答案的时候,Babel还被称为6to5,没有Traceur那么受欢迎。如今,巴别塔是首选。
发布于 2020-01-17 01:04:12
尝试--experimental-modules
标志
早在2017年,Node.js 8.9.0就发布了对ECMAScript模块的实验性支持,这些模块以其导入和导出语句而闻名。这种支持是在flag --实验性--模块后面的。
https://medium.com/@nodejs/announcing-a-new-experimental-modules-1be8d2d6c2ff
https://stackoverflow.com/questions/23070594
复制相似问题