Babel 6 中 babel-registerbabel-node 两个模块是开发时非常好用的转码工具。先来看一下如何使用:

1. babel-register

  • 安装:npm install babel-register

  • 作用:babel-register 实际上为require加了一个钩子(hook),之后所有被 node 引用的 .es6.es.jsx 以及 .js 文件都会先被 Babel 转码。

  • 使用示例:

    //index.js
    console.log('Hello World!');
    
    //register.js
    require("babel-register");
    require("./index.js");
    
    node register.js
    

2. babel-node

  • 安装:npm install babel-node

  • 作用:替代 CLI 中的 node 命令,可以直接运行采用 ES6 语法编写的代码。

  • 使用示例:

    • 在 npm scripts 中:

      {
        "scripts": {
          //"script-name": "node main.js"
          "script-name": "babel-node main.js"
        }
      }
      
    • 在命令行中:

      • 全局安装 babel-nodebabel-node main.js
      • 本地安装 babel-node./node_modules/.bin/babel-node main.js

3. 使用局限

尽管 babel-registerbabel-node 都非常好用,但是由于二者都是实时转码,因而性能上会有一定影响。官方建议将二者仅置于开发环境下使用。而在正式生产环境中部署时,预先编译代码是值得推荐的做法。

支付宝扫码打赏 微信打赏

坚持原创技术分享,您的支持将鼓励我继续创作!

扫描二维码,分享此文章

逆葵's Picture
逆葵

网名逆葵。北邮土著,CS 硕士在读。《Vue.js 权威指南》作者之一。学习、思考、沉淀中, 向成为顶级 JavaScript 技术栈开发者努力。