让 Node.js 支持 ES6 的语法

为了让 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 ...



转: https://www.jianshu.com/p/a9c27b80af9d

原文地址:https://www.cnblogs.com/fps2tao/p/9394959.html