1-Web de Lista de Libros

Express es un framework minimalista y flexible para aplicaciones web Node.js que proporciona:

  • Un conjunto robusto de características para aplicaciones web y móviles

  • Mecanismos para manejar diferentes tipos de peticiones HTTP (GET, POST, etc.)

  • Middleware para extender su funcionalidad

  • Un sistema de routing sencillo pero potente

javascript
Copy
Download
const express = require('express');
const app = express();

// Ruta básica que devuelve JSON
app.get('/', (req, res) => {
  res.json({ mensaje: 'Hola Mundo', version: '1.0' });
});

// Iniciar servidor
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Servidor corriendo en http://localhost:${PORT}`);
});

 Inicializar el proyecto

bash

npm init --yes

npm init -y
npm init 

Express - El framework web

bash

npm install express

Morgan - Logger para desarrollo

bash

npm install morgan

npm install nodemon


npm install


npm start


Métodos para Iniciar el Proyecto

a) npm run dev (Recomendado para desarrollo)

bash

npm run dev

  • Cómo funciona: Ejecuta el script "dev" definido en tu package.json

  • Requisito: Debes tener Nodemon instalado y configurado en package.json:

  • json

"scripts": {

  "dev": "nodemon app.js"

  • }

c) npm start (Para producción)

bash

npm start

  • Configuración típica:

  • json

"scripts": {

  "start": "node app.js"

}


¿Qué es morgan?

morgan es un middleware de logging para Node.js que registra información sobre las peticiones HTTP (como la URL, el método, el código de estado y el tiempo de respuesta). Es muy útil para:

  • Depurar errores en desarrollo.

  • Monitorear el tráfico en producción.

  • Analizar el rendimiento de tus rutas.


npm install


npm start


Métodos para Iniciar el Proyecto

a) npm run dev (Recomendado para desarrollo)

bash

npm run dev

  • Cómo funciona: Ejecuta el script "dev" definido en tu package.json

  • Requisito: Debes tener Nodemon instalado y configurado en package.json:

  • json

"scripts": {

  "dev": "nodemon app.js"

  • }

c) npm start (Para producción)

bash

npm start

  • Configuración típica:

  • json

"scripts": {

  "start": "node app.js"

}


Explicación del Código y Estructura del Proyecto

📝 Explicación del Código

javascript
Copy
Download
const express = require('express');
const app = express();
  • require('express'): Importa el módulo Express.js

  • app = express(): Crea una instancia de la aplicación Express

javascript
Copy
Download
app.get('/', (req, res) => {
  res.json({ mensaje: 'Hola Mundo', version: '1.0' });
});
  • app.get('/'): Define una ruta GET para el endpoint raíz (/)

  • (req, res): Callback que maneja la petición (request) y respuesta (response)

  • res.json(): Envía una respuesta en formato JSON

javascript
Copy
Download
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Servidor corriendo en http://localhost:${PORT}`);
});
  • process.env.PORT || 3000: Usa el puerto definido en variables de entorno o el 3000 por defecto

  • app.listen(): Inicia el servidor en el puerto especificado

📁 Estructura del Proyecto

text
Copy
Download
mi-api-express/
├── node_modules/    # Dependencias instaladas (se crea automáticamente)
├── .gitignore       # Archivo para ignorar node_modules y otros
├── package.json     # Configuración del proyecto y dependencias
└── app.js           # Archivo principal con el código del servidor

🛠️ Pasos para Crear el Proyecto

  1. Crea la estructura de carpetas:

bash
Copy
Download
mkdir mi-api-express
cd mi-api-express
  1. Inicializa el proyecto Node.js:

bash
Copy
Download
npm init -y
  1. Instala Express:

bash
Copy
Download
npm install express
  1. Crea los archivos:

bash
Copy
Download
touch app.js .gitignore
  1. Configura .gitignore:

text
Copy
Download
node_modules/
.env
  1. Ejecuta el servidor:

bash
Copy
Download
node app.js

💡 Ejemplo de package.json

json
Copy
Download
{
  "name": "mi-api-express",
  "version": "1.0.0",
  "description": "API básica con Express",
  "main": "app.js",
  "scripts": {
    "start": "node app.js",
    "dev": "nodemon app.js"
  },
  "dependencies": {
    "express": "^4.18.2"
  }
}

🌟 Ampliaciones Recomendadas

  1. Instalar Nodemon para desarrollo:

bash
Copy
Download
npm install --save-dev nodemon
  1. Agregar más rutas:

javascript
Copy
Download
app.get('/api/usuario', (req, res) => {
  res.json({ nombre: 'Juan', edad: 30 });
});
  1. Manejar otras solicitudes HTTP:

javascript
Copy
Download
app.post('/api/datos', (req, res) => {
  // Lógica para POST
});

Este proyecto minimalista es perfecto para empezar con APIs RESTful en Node.js/Express.


Pasos siguientes para expandir:

  • Agregar Sistema de Vistas (EJS)

echo "# node-libros" >> README.md 
git init 
git add README.md 
git commit -m "primer commit" 
git branch -M main 
git remote add origin https://github.com/SaulSoteloSuastegui/node-libros.git
 git push -u origin main

-----------------------------------------------

enviar un repositorio existente desde la línea de comandos

git remoto agregar origen https://github.com/SaulSoteloSuastegui/node-libros.git
 git rama -M principal 
git push -u origen principal


1. Cambiar la URL del origin existente (recomendado)
Si quieres actualizar la URL del origin (por ejemplo, porque el repositorio se movió o cambió de nombre), usa:

bash
git remote set-url origin https://github.com/SaulSoteloSuastegui/node-libro.git
2. Eliminar el origin actual y agregarlo de nuevo
Si prefieres empezar desde cero, elimina el origin existente y luego agrega el nuevo:

bash
git remote remove origin
git remote add origin https://github.com/SaulSoteloSuastegui/node-libro.git
3. Verificar el origin actual
Para confirmar qué URL está asociada a origin, ejecuta:

bash
git remote -v
Esto mostrará algo como:

text
origin  https://github.com/SaulSoteloSuastegui/otro-repo.git (fetch)
origin  https://github.com/SaulSoteloSuastegui/otro-repo.git (push)
¿Por qué ocurre esto?
Al clonar un repositorio o ejecutar previamente git remote add origin, Git guarda la configuración del remoto.

Si intentas agregar otro origin, Git te avisa que ya existe para evitar conflictos.

¿Qué hacer después?
Una vez actualizada la URL, puedes hacer push:

bash
git push -u origin main
(Reemplaza main por el nombre de tu rama si es diferente).

Si necesitas más ayuda, dime qué muestra git remote -v y te ayudo a verificar la configuración. 

Comentarios

Entradas más populares de este blog

9-Nuestra Primera Plantilla con EJS

6-Middleware?

Cómo Iniciar un Proyecto Node.js