美文网首页我爱编程
如何让Node.js支持ES6的语法

如何让Node.js支持ES6的语法

作者: RebeccaYan | 来源:发表于2017-07-04 11:39 被阅读917次

    不同版本的Node.js对Babel有不同的支持力度。为了让Node.js支持所需的ES6语法,可以加入Babel的支持。

    检测ES6

    可以使用es-checker来检测当前Node.js对ES6的支持情况。

    使用命令,全局安装es-checker

    npm install -g es-checker
    

    安装好之后,执行以下命令来查看Node.js对ES6的支持情况。

    es-checker
    

    可以从输出中查看当前版本(v6.10.2)的Node.js对ES6的支持情况。

    ECMAScript 6 Feature Detection (v1.4.1)
    
    =========================================
    Passes 38 feature Detections
    Your runtime supports 90% of ECMAScript 6
    =========================================
    

    添加ES6支持

    首先,使用npm init初始化npm工作目录,生成package.json文件。

    npm init -y
    

    接下来,需要安装Babel-cli。全局安装和本地安装都可以。

    // 全局安装
    npm install babel-cli -g
    
    // 本地安装
    npm install babel-cli --save
    

    然后,安装babel-preset-es2015来支持ES6的语法。

    npm install babel-preset-es2015 --save 
    

    安装完之后,还需要添加一个名为.babelrc的配置文件。方便babel-cli使用babel-preset-es2015。文件内容如下:

    {
        "presets": [
            "es2015"
        ],
        "plugins": []
    }
    

    测试ES6

    使用es-checker测试Node.js的时候,发现Node.js不支持import语法。我们可以测试import来验证babel的支持程度。

    创建一个a.js文件,内容如下:

    // a.js
    module.exports = 'a';
    

    再创建一个index.js文件,引用a.js。内容如下:

    // index.js
    import './a'
    
    console.log(a);
    

    直接使用Node.js执行index.js:

    node index.js
    

    执行结果会报错:

    import a from './a';
    ^^^^^^
    SyntaxError: Unexpected token import
    

    可以得知,Node.js不支持import语法。

    接下来,使用babel来执行index.js。

    全局安装的检测比较简单:

    babel-node index.js
    

    结果打印出a

    a
    

    本地安装的话,可以使用npm script来执行命令。在package.json文件的scripts添加命令"babel": "babel-node index.js",然后执行:

    npm run babel
    

    可以看到控制台有打印出结果。

    a
    

    对比发现,可以看出Babel能补充Node.js不支持的ES6语法。

    相关文章

      网友评论

        本文标题:如何让Node.js支持ES6的语法

        本文链接:https://www.haomeiwen.com/subject/nowthxtx.html