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

编程愉快!

原文:How to Setup Babel in Node.js,作者:Alvin Okoro