Express 是一个流行的基于 Node.js 的 Web 开发框架,它可以帮助我们快速搭建一个 Web 应用程序。在 Express 中,路由是一个非常重要的概念。路由指的是根据客户端请求的不同路径和 HTTP 方法来执行不同的处理逻辑。在本篇博客中,我们将介绍如何在 Express 中进行路由配置。

1.基础路由配置

在 Express 中,我们可以通过调用 express() 函数来创建一个应用程序实例。然后,我们可以使用该实例的 get()post()put()delete() 等方法来配置路由。这些方法接收两个参数:路径和处理函数。

在上面的示例中,我们定义了两个路由:根路径和 /about 路径。当客户端请求根路径时,处理函数将返回一个字符串 Hello, World!,而当客户端请求 /about 路径时,处理函数将返回一个字符串 About us

2.动态路由配置

除了静态路由之外,我们还可以定义动态路由。动态路由指的是带有参数的路由,例如 /users/:userId,其中的 :userId 是一个动态参数,可以匹配不同的用户 ID。在 Express 中,我们可以使用冒号 : 来定义动态参数。

在上面的示例中,我们定义了一个动态路由 /users/:userId,当客户端请求该路径时,Express 将会调用处理函数,并将匹配的参数值存储在 req.params.userId 属性中。在处理函数中,我们可以通过 req.params.userId 来获取该参数值,并向客户端返回一个包含该参数值的字符串。

3.路由中间件

除了基本路由和动态路由之外,我们还可以使用路由中间件来对路由进行拦截和处理。路由中间件指的是一个函数,它可以在请求到达路由处理函数之前或之后对请求进行处理。

在 Express 中,我们可以使用 app.use() 方法来注册路由中间件。

在上面的示例中,我们定义了一个路由中间件,它会在每个请求到达之前打印当前时间。在处理完中间件逻辑之后,我们需要调用 next() 方法来将请求传递给下一个处理函数。如果我们不调用 next() 方法,请求将会被中断,客户端将会收到一个空白响应。

4.错误处理

在 Express 中,我们可以使用 app.use() 方法来定义错误处理中间件。错误处理中间件指的是一个函数,它可以在发生错误时对错误进行处理,并向客户端返回一个错误响应。

在上面的示例中,我们定义了一个错误处理中间件,它会在发生错误时打印错误堆栈信息,并向客户端返回一个状态码为 500 的错误响应。

下面是一个完整的 Express 服务示例

在上面的代码中,我们定义了一个中间件,它会在每个请求到达之前打印当前时间,然后定义了一个动态路由 /users/:userId/books/:bookId,它可以处理类似 /users/123/books/456 这样的请求,并从中获取到 userId bookId 参数,最后向客户端返回一个包含这两个参数的响应。最后,我们定义了一个错误处理中间件,它会在发生错误时打印错误堆栈信息,并向客户端返回一个状态码为 500 的错误响应。