babel-node

1,122 阅读1分钟

场景: 在node环境中运行js代码,如使用ES6+的特性是使用不了的,需要进行代码转换才可运行,bael-node可以解决在开发中运行ES6+的语法。

安装方法如下:

npm install @babel/core @babel/cli @babel/preset-env @babel/node -D

项目的根目录下面创建 .babelrc 文件:

// .babelrc
{
  "presets": ["@babel/preset-env"]
}

最后修改 package.json,使用 babel-node 启动服务器入口文件即可:

// 使用命令 npm run server 即可运行
"scripts": {
  "server": "babel-node server.js"
},

说明:

  1. 为什么要用 babel-node 而不用 @babel/register 或者 @babel/polyfill 库?因为后者只能用于打包过程。也就是说,需要先编译,然后才能运行。

  2. babel-node 只是用于非打包过程的,如果需要打包的话(比如用于生产环境),则不建议使用 babel-node,因为 babel-node 的打包体积会非常大。