為了讓 Node.js 支持 ES6 的語(yǔ)法内边, 需要使用 Babel鸠按。
安裝 es-checker
在使用 Babel 之前 睁搭, 我們先檢測(cè)一下當(dāng)前 node 對(duì) es6 的支持情況鹃骂。
在命令行下執(zhí)行以下命令安裝 es-checker:
npm install -g es-checker
安裝完畢以后潮模, 命令行執(zhí)行:
es-checker
我的 node 環(huán)境版本是v4.5.0改淑, 支持 69%:
ECMAScript 6 Feature Detection (v1.4.0)
=========================================
Passes 29 feature Detections
Your runtime supports 69% of ECMAScript 6
=========================================
安裝 babel
首先新建一個(gè)工作目錄碍岔,然后創(chuàng)建一個(gè) package.json 的文件,內(nèi)容為:
{
"name": "my-project",
"version": "1.0.0",
"devDependencies": {}
}
然后在工作目錄下打開(kāi)命令行溅固,執(zhí)行以下命令安裝 babel-cli:
npm install babel-cli --save
再安裝一個(gè)全局的 babel-cli:
npm install babel-cli -g
接著在工作目錄創(chuàng)建一個(gè)名字為 .babelrc 的文件付秕, 文件內(nèi)容入如下:
{
"presets": [
"es2015"
],
"plugins": []
}
安裝 babel-preset-es2015
在工作目錄,執(zhí)行以下命令安裝 babel-preset-es2015:
npm install babel-preset-es2015 --save
測(cè)試 es6
創(chuàng)建一個(gè) test.js
的文件侍郭, 鍵入內(nèi)容:
'use strict';
function foo(a, b, ...rest) {
console.log('a = ' + a)
console.log('b = ' + b)
console.log(rest)
}
foo(1, 2, 3, 4, 5)
在當(dāng)前目錄下執(zhí)行:
babel-node test.js
結(jié)果如下:
a = 1
b = 2
[3, 4, 5]
如果直接執(zhí)行:
node test.js
會(huì)報(bào)異常: SyntaxError: Unexpected token ...