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:不能在没有模块的情况下使用导入语句,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>)