习惯使用import引入模块真心回不去使用require但是node并不兼容es6语法此时需要使用babel将代码转换为es5
安装插件
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 app.js"
},
说明:
-
为什么要用 babel-node 而不用 @babel/register 或者 @babel/polyfill 库?因为后者只能用于打包过程。也就是说,需要先编译,然后才能运行。
-
babel-node 只是用于非打包过程的,如果需要打包的话(比如用于生产环境),则不建议使用 babel-node,因为 babel-node 的打包体积会非常大。