场景: 在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"
},
说明:
-
为什么要用 babel-node 而不用 @babel/register 或者 @babel/polyfill 库?因为后者只能用于打包过程。也就是说,需要先编译,然后才能运行。
-
babel-node 只是用于非打包过程的,如果需要打包的话(比如用于生产环境),则不建议使用 babel-node,因为 babel-node 的打包体积会非常大。