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

如何将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: 为您的项目创建一个文件夹,并进入该文件夹。在该文件夹中创建一个名为app.js的新文件。现在,使用以下命令使用默认配置初始化一个新的Node.js项目。

npm init -y

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

npm install express

项目结构: 执行完以下步骤后,您的项目结构将如下所示。

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

app.js

const express = require('express'); 
const app = express(); 
  
app.get('/', (req, res) => { 
  res.send('<h1>Home page</h1>'); 
}); 
  
app.get('/products', (req, res) => { 
  res.send('<h1>Products page</h1>'); 
}); 
  
// This route will handle all the requests that are  
// not handled by any other route handler. In  
// this handler 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('<h1>404! Page not found</h1>'); 
}); 
  
app.listen(3000, () => { 
  console.log('Server is up on port 3000'); 
}); 

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

node app.js

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

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程