¿Cómo redirigir errores 404 a una página en Express.js?

Express Js es un marco de aplicación web basado en la funcionalidad del servidor web Node.js que nos ayuda a crear servidores web con menor complejidad y de manera bien organizada. Express proporciona servicios de enrutamiento que nos ayudan a crear puntos finales de aplicaciones que responden según el método de solicitud HTTP (GET, POST, DELETE, etc.) y la ruta solicitada.

En Express, si queremos redirigir al usuario a la página de error 404 si una ruta en particular no existe, entonces podemos usar el método app.all() como el último método del controlador de ruta y * (asterisco) como el nombre de la ruta. El asterisco es un comodín que coincide con cualquier nombre de ruta.

Sintaxis:

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

La ruta mencionada anteriormente puede manejar todo tipo de métodos de solicitud HTTP y solicitar cualquier nombre de ruta.

Configuración del proyecto

Paso 1: Instale Node.js si aún no lo ha hecho.

Paso 2: Cree una carpeta para su proyecto y cd (cambiar de directorio) en ella. Cree un nuevo archivo llamado app.js dentro de esa carpeta. Ahora, inicialice un nuevo proyecto Node.js con configuraciones predeterminadas usando el siguiente comando.

npm init -y

Paso 3: ahora instale express dentro de su proyecto usando el siguiente comando en la línea de comando.

npm install express

Estructura del proyecto: después de seguir los pasos, la estructura de su proyecto se verá así.

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 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('<h1>404! Page not found</h1>');
});
  
app.listen(3000, () => {
  console.log('Server is up on port 3000');
});

Paso para ejecutar la aplicación: puede ejecutar su servidor express usando el siguiente comando en la línea de comando.

node app.js

Salida: abra el navegador y vaya a http://localhost:3000 y cambie manualmente a http://localhost:3000/some_invalid_route y será redirigido a nuestra página de error con un mensaje.

Publicación traducida automáticamente

Artículo escrito por shivamsingh00141 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *