📜  ExpressJS-路由(1)

📅  最后修改于: 2023-12-03 15:00:40.744000             🧑  作者: Mango

ExpressJS 路由介绍

什么是 ExpressJS?

ExpressJS 是一个流行的 Node.js Web 框架,它提供了一些工具和函数,用于创建 Web 应用程序和 API。它是一个灵活而又简单的框架,使得开发人员可以快速构建高度可扩展和可维护的 Node.js 应用程序。

什么是路由?

路由是指如何定义应用程序的端点(URI)以及如何响应客户端请求的方式。由于 HTTP 请求通常是通过 URL 发送的,因此 URL 是路由的重要组成部分。路由以 URI 和 HTTP 方法为基础,决定了哪个函数可以处理该请求。

ExpressJS 的路由

在 ExpressJS 中,路由是指将端点(URI)、HTTP 请求方法(GET、POST、PUT、DELETE 等)以及一个或多个处理程序(它们在请求的 URI 上执行的操作)相结合的方式。在 ExpressJS 中定义路由非常简单,只需编写类似于下面的代码片段即可:

const express = require('express');
const app = express();

// 处理 HTTP GET 请求的路由
app.get('/', function (req, res) {
  res.send('Hello World!');
});

// 处理 HTTP POST 请求的路由
app.post('/', function (req, res) {
  res.send('Got a POST request');
});

// 处理 HTTP PUT 请求的路由
app.put('/user', function (req, res) {
  res.send('Got a PUT request at /user');
});

// 处理 HTTP DELETE 请求的路由
app.delete('/user', function (req, res) {
  res.send('Got a DELETE request at /user');
});

在上面的代码中,我们使用了 ExpressJS 的应用程序实例(app)来定义四个不同的路由。每个路由都使用了不同的 HTTP 请求方法:

  • app.get('/', function (req, res) { ... }); 处理 HTTP GET 请求,该路由将根 URL 映射到一个处理程序函数。
  • app.post('/', function (req, res) { ... }); 处理 HTTP POST 请求,该路由将根 URL 映射到另一个处理程序函数。
  • app.put('/user', function (req, res) { ... }); 处理 HTTP PUT 请求,该路由将用户信息 URL 映射到一个处理程序函数。
  • app.delete('/user', function (req, res) { ... }); 处理 HTTP DELETE 请求,该路由将用户信息 URL 映射到一个不同的处理程序函数。
路由中间件

ExpressJS 中的路由中间件允许我们在路由请求处理之前或之后执行某些代码。这些中间件函数可以是一个函数、函数数组或是一个链式的函数,它们将按定义的顺序依次执行。

下面的代码片段展示了如何在路由处理程序之前添加中间件函数:

const express = require('express');
const app = express();

// 定义路由中间件函数
const myMiddleware = function (req, res, next) {
  console.log('LOGGED');
  next();
};

// 将中间件函数添加到路由处理程序
app.get('/', myMiddleware, function (req, res, next) {
  res.send('Hello World!');
});

在上面的例子中,我们定义了一个名为myMiddleware的中间件函数,该函数在每个请求处理程序之前执行。然后我们将该函数传递到了 app.get() 函数中,它表示处理 HTTP GET 请求的路由处理程序。因此,在每个 GET 请求之前,我们都会看到“LOGGED”这个字符串打印到控制台。

结论

ExpressJS 提供了丰富的路由功能,允许我们以不同的方式定义端点和请求处理程序。使用 ExpressJS 的路由功能可以使我们轻松地创建可扩展、可维护的 Web 应用程序。