Construir un servidor básico con NodeJS es una tarea fundamental para cualquier desarrollador que quiera crear API robustas y eficientes. En este capítulo, cubriremos cómo definir rutas y puntos finales para crear un servidor básico en NodeJS.

Primeros pasos

Antes de comenzar a crear nuestro servidor, necesitamos instalar NodeJS y NPM (Node Package Manager) en nuestro sistema. Ambas son herramientas esenciales para desarrollar aplicaciones en NodeJS. Puede descargarlos e instalarlos desde sus respectivos sitios web oficiales.

Creando un servidor básico

Después de instalar NodeJS y NPM, comencemos a crear nuestro servidor. Primero, cree un nuevo directorio para su proyecto y navegue hasta él usando la terminal. Luego inicialice un nuevo proyecto NodeJS con el comando 'npm init'. Esto creará un nuevo archivo 'package.json' en su directorio, que contiene información sobre su proyecto y sus dependencias.

Ahora, instalemos el paquete 'express', que es un marco para NodeJS que simplifica la creación de servidores web. Puede instalar express con el comando 'npm install express'.

Con Express instalado, creemos un nuevo archivo llamado 'server.js'. Este será el archivo principal en nuestro servidor. En 'server.js', importemos express y creemos una nueva instancia del mismo:


const expresar = requerir('expresar');
aplicación constante = expresar();

Definición de rutas y puntos finales

Con nuestro servidor creado, ahora podemos definir rutas y puntos finales. Las rutas son las rutas a las que los usuarios pueden acceder en nuestro servidor, mientras que los puntos finales son las funciones que se ejecutan cuando se accede a una ruta específica.

Definamos una ruta simple que devuelva un mensaje de bienvenida cuando el usuario acceda a la ruta raíz ('/') de nuestro servidor:


aplicación.get('/', (req, res) => {
  res.send('¡Bienvenido a nuestro servidor NodeJS!');
});

En este código, 'app.get' es una función que define un nuevo punto final para la ruta '/'. La función toma dos argumentos: 'req' y 'res'. 'req' es el objeto de solicitud, que contiene información sobre la solicitud del usuario, como parámetros de URL y datos del cuerpo. 'res' es el objeto de respuesta, que se utiliza para enviar una respuesta al usuario.

Ahora, definamos una ruta que acepte parámetros. Creemos una ruta '/users/:id', que devuelve los detalles de un usuario específico según su ID:


app.get('/usuarios/:id', (req, res) => {
  identificación constante = req.params.id;
  // Aquí normalmente obtendrías los detalles del usuario de una base de datos
  res.send(`Detalles de ID de usuario: ${id}`);
});

En este código, ':id' es un parámetro de ruta. Puede acceder al valor de este parámetro usando 'req.params.id'.

Conclusión

Con eso, tenemos un servidor NodeJS básico con algunas rutas y puntos finales definidos. Para iniciar el servidor, puede utilizar el comando 'node server.js' en su terminal. Ahora puedes acceder a tu servidor en 'http://localhost:3000' en tu navegador o usando una herramienta como Postman.

Definir rutas y puntos finales es una parte esencial de la creación de API en NodeJS. Con la práctica, podrás crear servidores más complejos con múltiples rutas y puntos finales, e integrarlos con bases de datos y otras tecnologías.

Ahora responde el ejercicio sobre el contenido:

¿Cuál es la función de 'express' en el desarrollo de un servidor en NodeJS?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Crear un servidor básico con NodeJS: trabajar con solicitudes HTTP

Siguiente página del libro electrónico gratuito:

37Crear un servidor básico con NodeJS: trabajar con solicitudes HTTP

5 minutos

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.