如何将 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 ,您将被重定向到我们的错误页面并显示一条消息。