Servidor Web Nodejs y Express


Vamos a iniciar creando este servidor...



Express es un popular framework web de código abierto para Node.js, diseñado para facilitar la creación de aplicaciones web y APIs de manera rápida y sencilla. Es una herramienta muy utilizada en el desarrollo de aplicaciones web en Node.js debido a su simplicidad y flexibilidad.

Express proporciona una serie de características y utilidades que simplifican la implementación de servidores web y la manipulación de rutas, lo que permite a los desarrolladores centrarse en la lógica de su aplicación en lugar de preocuparse por los detalles de bajo nivel del protocolo HTTP.

Paso 1 crear carpeta src e iniciar el backend, en terminal escribimos
 
  • npm init -y

Se crea el Package.json

Nota de Extensiones para Visual Studio Code: Material Icon Theme para que las carpetas se vean de colores

Paso 1 instalar express


  •  npm i express.

Paso 2 En package.json agregar "type": "module", para poder utilizar la import y export

{
"name": "mibackend",
"version": "1.0.0",
"description": "",
"main": "index.js",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}

Paso 3 Crear app.js - Código para instanciar express

import express from 'express'
const app = express()
export default app

Paso 4 crear index.js - Código para arrancar aplicación

import app from "./app.js"
app.listen(3000)
console.log('Conectado en el puerto',3000)

Para ejecutarlo en consola

  •   node src/index.js

Paso 5 Instalar nodemon que sirve para que el servidor se reinicie cada vez que tenga cambios en el codigo.

  • npm i nodemon -D
El -D se coloca para que se instale como dependencia de desarrollo

En package.json se debe cambiar

"scripts": {
"dev":"nodemon src/index.js"
},
Ya se puede ejecutar con 
  • npm run dev

Paso 6 Instalar modulo que permite ver las peticiones que llegan al backend por consola

  • npm i morgan

El app.js queda asi 

import express from 'express'
import morgan from 'morgan'
const app = express()
app.use(morgan('dev'))
export default app

'dev' es un formato que muestra los registros de solicitud en un estilo de línea única, lo que facilita la lectura y el seguimiento de las solicitudes mientras se desarrolla la aplicación.

Paso 7 Mejorar el index.js y agregar variable de entorno .env

Primero para trabajar con variables de entorno se debe instalar 
npm i dotenv

Debemos crear un archivo llamado .env en la raiz del proyecto y se le agrega 

PORT = 4000

Este archivo es util para mantener separada la configuración del código fuente y proteger información sensible.

Se llama por medio de dotenv.config() , en el const puerto se le asigna su valor con process.env.PORT

import app from "./app.js"
import dotenv from "dotenv";

// Cargar las variables de entorno desde el archivo .env
dotenv.config();

// puerto (obtenida desde las variables de entorno)
const puerto = process.env.PORT || 3000;
// Utiliza el puerto 3000 si no se encuentra en .env

//http://localhost:3000
app.get("/",(req,res) =>{
res.send('Hola Mundo');
});

//http://localhost:3000/ruta1
app.get("/ruta1", (req, res) => {
res.send('¡Hola desde otra ruta!');
});

// Ruta con parámetros , http://localhost:3000/usuario/Juan
app.get("/usuario/:id", (req, res) => {
const userId = req.params.id;
res.send(`Hola, usuario ${userId}!`);
});

// Iniciar el servidor y escuchar en el puerto especificado
app.listen(puerto, () => {
console.log(`Conectado en el puerto:${puerto}`);
});

req : tiene información sobre la solicitud entrante, como datos enviados por el cliente

res : se utiliza para enviar una respuesta al cliente.

Vamos a la practica





Comentarios