为了让 Node.js 支持 ES6 的语法, 需要使用 Babel。
安装 es-checker
在使用 Babel 之前 , 我们先检测一下当前 node 对 es6 的支持情况。
在命令行下执行以下命令安装 es-checker:
npm install -g es-checker
安装完毕以后, 命令行执行:
es-checker
我的 node 环境版本是v4.5.0, 支持 69%:
ECMAScript 6 Feature Detection (v1.4.0)
=========================================
Passes 29 feature Detections
Your runtime supports 69% of ECMAScript 6
=========================================
安装 babel
首先新建一个工作目录,然后创建一个 package.json 的文件,内容为:
{
"name": "my-project",
"version": "1.0.0",
"devDependencies": {}
}
然后在工作目录下打开命令行,执行以下命令安装 babel-cli:
npm install babel-cli --save
再安装一个全局的 babel-cli:
npm install babel-cli -g
接着在工作目录创建一个名字为 .babelrc 的文件, 文件内容入如下:
{
"presets": [
"es2015"
],
"plugins": []
}
安装 babel-preset-es2015
在工作目录,执行以下命令安装 babel-preset-es2015:
npm install babel-preset-es2015 --save
测试 es6
创建一个 test.js
的文件, 键入内容:
'use strict';
function foo(a, b, ...rest) {
console.log('a = ' + a)
console.log('b = ' + b)
console.log(rest)
}
foo(1, 2, 3, 4, 5)
在当前目录下执行:
babel-node test.js
结果如下:
a = 1
b = 2
[3, 4, 5]
如果直接执行:
node test.js
会报异常: SyntaxError: Unexpected token ...