📜  如何将 404 错误重定向到 Express.js 中的页面?

📅  最后修改于: 2022-05-13 01:56:34.658000             🧑  作者: Mango

如何将 404 错误重定向到 Express.js 中的页面?

Express Js 是一个基于 Node.js Web 服务器功能的 Web 应用程序框架,可帮助我们创建复杂度较低且组织良好的 Web 服务器。 Express 提供路由服务,帮助我们创建基于 HTTP 请求方法(GET、POST、DELETE 等)和请求路由响应的应用程序端点。

在 Express 中,如果我们想在特定路由不存在的情况下将用户重定向到 404 错误页面,那么我们可以使用 app.all() 方法作为最后一个路由处理程序方法,并使用* (星号)作为路由名称。星号是匹配任何路由名称的通配符。

句法:

app.all('*', (req, res) => {
    // code logic
})

上面提到的路由可以处理各种HTTP请求方法和对任意路由名称的请求。

项目设置

第 1 步:如果您还没有安装 Node.js。

第 2 步:为您的项目创建一个文件夹,然后将 cd(更改目录)放入其中。在该文件夹中创建一个名为 app.js 的新文件。现在,使用以下命令使用默认配置初始化一个新的 Node.js 项目。

npm init -y

第 3 步:现在在命令行中使用以下命令在项目中安装 express。

npm install express

项目结构:按照这些步骤操作后,您的项目结构将如下所示。

app.js
const express = require('express');
const app = express();
  
app.get('/', (req, res) => {
  res.send('

Home page

'); });    app.get('/products', (req, res) => {   res.send('

Products page

'); });    // This route will handle all the requests that are  // not handled by any other route handler. In  // this hanlder we will redirect the user to  // an error page with NOT FOUND message and status // code as 404 (HTTP status code for NOT found) app.all('*', (req, res) => {   res.status(404).send('

404! Page not found

'); });    app.listen(3000, () => {   console.log('Server is up on port 3000'); });


运行应用程序的步骤:您可以在命令行上使用以下命令来运行您的 express 服务器。

node app.js

输出:打开浏览器并转到http://localhost:3000 ,然后手动切换到http://localhost:3000/some_invalid_route ,您将被重定向到我们的错误页面并显示一条消息。