NodeJS和谐在导入时产生SyntaxError

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NodeJS和谐在导入时产生SyntaxError相关的知识,希望对你有一定的参考价值。

我正在使用带有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
答案

v8并因此在Node中不支持ES6的所有功能。我认为模块就是其中之一。

您可能会发现此兼容性矩阵很方便:http://kangax.github.io/es5-compat-table/es6/

您可以使用Traceur compiler来执行此操作,尽管尚未使用it appears的模块来实现所有功能

[2015年12月编辑-正如对此答案的一些评论所建议的,此时,Babel已成为首选的ES6编译器。在我写原始答案时,Babel仍被称为6to5,不如Traceur受欢迎。今天,Babel是首选。

另一答案

尝试--experimental-modules标志

早在2017年,Node.js 8.9.0就提供了对ECMAScript模块,以其导入和导出语句而闻名。这个支持是--experimental-modules的标志。

https://medium.com/@nodejs/announcing-a-new-experimental-modules-1be8d2d6c2ff

以上是关于NodeJS和谐在导入时产生SyntaxError的主要内容,如果未能解决你的问题,请参考以下文章

SyntaxError:“获取”的意外标识符

SyntaxError:不能在没有模块的情况下使用导入语句,TypeError [ERR_UNKNOWN_FILE_EXTENSION]:Catch 22

nodejs vue SyntaxError:Block-scoped declarations (let,const,function,class) not yet supported

导入 stumpy 时,我在“解析”中得到一个 SyntaxError

Python 3.5 类型化的 NamedTuple 语法产生 SyntaxError

DiscordJS + NodeJS:SyntaxError:JSON.parse 处的 JSON 输入意外结束(<anonymous>)