Javascript 如何从CLI执行es6脚本

Javascript 如何从CLI执行es6脚本,javascript,node.js,ecmascript-6,command-line-interface,Javascript,Node.js,Ecmascript 6,Command Line Interface,我安装了最新的NodeJS,对于任何JavaScript文件,我都可以使用节点myscript.js执行它,但最近我正在学习es6,对于一些最新语法,它只是在执行时弹出一些错误/异常。我尝试了babel cli,但它似乎不适用于编译es6到5,而不适用于命令行执行。1)要启用对es6的支持,请使用--harmony标志: node --harmony myscript.js 这将在节点中启用可用的ES6语法。但请注意,它目前只是ES6标准的一个有限子集(请参阅) 2) 要获得完全的兼容性,您必

我安装了最新的NodeJS,对于任何JavaScript文件,我都可以使用
节点myscript.js
执行它,但最近我正在学习es6,对于一些最新语法,它只是在执行时弹出一些错误/异常。我尝试了babel cli,但它似乎不适用于编译es6到5,而不适用于命令行执行。

1)要启用对es6的支持,请使用
--harmony
标志:

node --harmony myscript.js
这将在节点中启用可用的ES6语法。但请注意,它目前只是ES6标准的一个有限子集(请参阅)

2) 要获得完全的兼容性,您必须使用。
安装
@babel/node
以获得与node.js的CLI完全相同的
babel节点
可执行文件,只有它会在运行之前编译ES6代码

babel-node myscript.js

对于简单的ES6甚至打字脚本实验,现在可能可以考虑。它支持开箱即用的最新ES(和TS),无需任何额外工具。

根据您使用的功能,最新节点具有良好但部分的ES6支持(例如,没有模块)。如果您想使用node,请尝试babel node一个更好的使用es6的地方:下面是一个兼容性表,显示了在不同版本的node中可以使用哪些es6功能:我全局安装了babel cli,并尝试使用以下内容运行该文件:var[a,b,c]=[1,2,3,4];控制台日志(a、b、c);它说是语法错误,但这不应该是es6的简单解构吗?npx babel node myscript
babel node
似乎不再存在了!?!我尝试通过
npm install-g@babel/cli
全局安装链接在“babel cli”中,并尝试使用
npx babel node
@FooF运行它,我编辑了答案,以解释不断突破的JS世界。