Express.js app.router Propiedad

La propiedad Express.js app.router se introdujo en Express 4. Nos ayuda a crear controladores de ruta modulares y montables. Nos brinda muchas funciones, como que extiende este enrutamiento para manejar la validación, manejar 404 u otros errores, etc. Nos ayuda a organizar nuestra estructura de archivos para nuestra programación del lado del servidor.

¿Cuál es la necesidad de usar express.Router?

Nos ayuda a administrar cientos de rutas que se crean en un proyecto en el lado del servidor al dividirlas en archivos individuales. Ayuda en el enrutamiento de middleware básico y en el manejo de errores 404. Usando express.Router, toda la carpeta que contiene todas las dependencias, archivos, rutas, etc. está bien estructurada y es fácil de entender para cualquiera.

Instalación del Módulo Express

Después de ejecutar npm init y crear un archivo package.json, es hora de instalar nuestra dependencia, es decir, Express.

1. Puede visitar este enlace y descargar usando el siguiente comando:

npm install express --save

2. Después de instalar Express, puede verificar su versión Express en el símbolo del sistema usando el siguiente comando:

npm version express

3. Después de la instalación de la dependencia requerida, cree un archivo app.js usando la terminal. Para ejecutar este archivo, debe ejecutar lo siguiente:

node app.js

Directorio del proyecto: después de crear app.js, cree una carpeta separada llamada rutas como se muestra a continuación:

Esta será la estructura del proyecto después de la creación e instalación de los archivos y paquetes. Dentro de las rutas, habrá dos archivos como se muestra a continuación:

Nombre de archivo: app.js

Javascript

// Requiring module
const express = require('express');
  
// Creating express object
const app=express();
  
// Middlewares
app.use(require('./routes/introduction.js'));
app.use(require('./routes/computer.js'));
  
// Server setup
app.listen(3000, function() { 
   console.log('Server listening on port 3000'); 
});

Hemos requerido los dos archivos que hemos creado dentro de las rutas, es decir , computer.js e Introduction.js dentro de nuestro archivo app.js usando el siguiente código:

// Syntax
app.use(require('Filepath'))

// Implementation
app.use(require('./routes/introduction.js'));
app.use(require('./routes/computer.js'));

Nombre de archivo: introducción.js

Javascript

// Requiring module
const express = require('express');
  
// Creating router object
const router = express.Router();
  
// Handling request
router.get('/introduction', (req,res) => {
  console.log('Opening introduction.js');
  res.send('Welcome to geeksforgeeks!');
});
  
// Exporting router object
module.exports = router;

Nombre de archivo: computadora.js

Javascript

// Requiring module
const express = require('express');
  
// Creating router object
const router = express.Router();
  
// Handling request
router.get('/computer', (req,res) => {
  console.log('Opening computer.js');
  res.send('This is a computer science portal');
});
  
// Exporting router object
module.exports = router;

Ejecute el archivo app.js con el siguiente comando:

node app.js

Producción:

Server listening on port 3000

Ahora abra el navegador y vaya a http://localhost:3000/introduction y http://localhost:3000/computer, luego verá el siguiente resultado en la pantalla de su terminal:

Server listening on port 3000
Opening introduction.js
Opening computer.js

Funcionando: ambas rutas se abrieron en el navegador, por lo que console.log() imprimió las siguientes declaraciones al abrir con éxito las rutas. En el navegador, ambas rutas mostrarán diferentes salidas como se muestra a continuación:

Para http://localhost:3000/introducción , se mostrará el siguiente resultado:

Welcome to geeksforgeeks!

Para http://localhost:3000/computadora , se mostrará el siguiente resultado:

This is a computer science portal

Publicación traducida automáticamente

Artículo escrito por dassohom5 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 *