Node.js 是目前最流行的后端技术之一。为了帮助你学习如何有效地使用它,在本文中,我们将使用 Node 创建一个简单的服务器,并在我们的代码中配置 Babel。
但在我们深入研究构建服务器之前,让我们更多地了解 Babel 是什么。
什么是 Babel
Babel 是一个 JavaScript 编译器。它是一种流行的工具,可帮助你使用 JavaScript 编程语言的最新功能。
为什么在 Node.js 中使用 Babel
你是否曾经打开过使用 Node.js/Express 构建的后端仓库——你首先看到的是 ES6 导入和导出语句以及其他一些很酷的 ES6 语法特性?
Babel 让这一切成为可能。请记住,Babel 是一种流行的工具,可让你使用 JavaScript 的最新功能。现在许多框架都在底层使用 Babel 来编译它们的代码。
例如,如果没有像 Babel 这样的编译器的帮助,Node 就不能使用 ES6 导入和导出语句以及 ES6 语法的其他一些很酷的特性。
因此,在本教程中,我将向你展示如何快速配置你的 Node 应用程序以兼容大多数 ES6 语法。
很棒吧?我们开始吧!
准备
本教程假设你具备以下条件:
- Node.js 基础知识
- 你的电脑上已安装 Node
- 你选择的任何代码或文本编辑器
开始
让我们配置一个基本的 Node 应用程序,我们将在本教程中使用它。
新建一个文件夹。在本教程中,我将调用我的 node-babel。现在将文件夹添加到工作区,并打开你的终端。
让我们初始化应用程序并创建一个 package.json 文件:
npm init
此命令将显示一些我们希望保持原样的配置步骤。因此,在整个配置过程中按 enter 键或 return 键都可以正常工作。
完成后,创建一个名为 “index.js” 的新文件,它将作为我们的入口点。
如何配置和安装 Babel
现在,我们将安装 Babel 系列的三个包,它们是:
@babel/cli, @babel/core and @babel/preset-env
我们使用以下命令安装软件包:
npm install --save-dev @babel/cli @babel/core @babel/preset-env
我们想使用 --save-dev 来安装它们作为模块开发的依赖项。
所以当你完成安装,创建一个名为 .babelrc 的新文件来配置 Babel。
touch .babelrc
这个文件将包含我们想要添加到 Babel 的所有选项。所以现在,让我们使用我通常在我的应用程序中用于开发的配置。你可以复制它并添加到你的程序:
{
"presets": [
["@babel/env", {
"targets": {
"node": "current"
}
}]
],
"plugins": [
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-object-rest-spread"
]
}
上面的配置是我用来告诉 Babel 的,是的,我不仅要使用我的导入和导出语句,还要使用 class 特性以及 ES6 中的 rest 和 spread 运算符。
厉害吧?让我们继续。
如何配置一个简单的服务器
现在打开我们之前创建的 “index.js” 文件,并添加以下代码以生成一个简单的服务器:
import http from 'http';
const server = http.createServer((req, res) => {
res.end('Hello from the server');
}).listen(4001);
console.log('Server is up and running');
export default server;
使用上面的示例代码,服务器将侦听端口 4001,然后在我们访问该端口时向我们发送 “Hello from the server” 响应。
Package.json 脚本配置
我们现在有一个简单的服务器。要运行它,我们必须在使用 Node.js 运行之前转译我们的代码。为此,请打开 “package.json” 文件并添加此构建和启动脚本:
"scripts": {
+ "build": "babel index.js -d dist",
"start": "npm run build && node dist/index.js"
}
很棒,现在我们用以下命令启动服务器:
npm start
访问 localhost:4001,你应该会收到以下响应:
如何使用 Nodemon 监视和重启你的服务器
为了防止每次更改应用程序时自己重新启动服务器,我们需要安装 nodemon。你可以使用以下命令将 nodemon 安装到你的应用程序,以将其安装为开发依赖项:
npm install --save-dev nodemon
然后我们重新配置我们的 package.json 脚本:
"scripts": {
"build": "babel index.js -d dist",
"start": "npm run build && nodemon dist/index.js"
}
太棒了,现在这是我们 Node 应用程序的最终代码,以及运行 “npm start” 启动服务器时应该得到的结果。
从上图可以看出,我们的服务器已启动并正在运行。你现在可以使用 ES6 语法中的 import 和 export 语句以及 ES6 提供的其他很棒的功能,例如 Node 应用程序中的 rest 和 spread 运算符。
总结
在本教程中,我们学习了如何使用 Babel 在 Node 应用程序中使用 ES6 语法。
请注意,你可以在 .babelrc 文件中添加更多配置,不限于我们在本教程中介绍的内容,你可以随意调整或更改它。
你可以在这里找到示例代码:https://github.com/Veri5ied/node-babel。
编程愉快!