Cómo Iniciar un Proyecto Node.js

 

Cómo Iniciar un Proyecto Node.js desde Cero: Guía Paso a Paso

Solución 1: Cambiar la política de ejecución (recomendado)

  1. Abre PowerShell como administrador.

  2. Ejecuta este comando para permitir la ejecución de scripts firmados:

    powershell
    Copy
    Download
    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Si estás comenzando con Node.js, esta guía te mostrará cómo configurar un proyecto básico con las herramientas esenciales.

Paso 1: Inicializar el proyecto

bash
Copy
Download
npm init --yes

Este comando crea automáticamente un archivo package.json con valores predeterminados. El package.json es el corazón de tu proyecto Node.js, donde se almacenan:

  • Dependencias del proyecto

  • Scripts personalizados

  • Metadatos del proyecto (nombre, versión, descripción, etc.)

Paso 2: Instalar dependencias esenciales

Express - El framework web

bash
Copy
Download
npm install express

Express es el framework web más popular para Node.js. Te permite:

  • Crear rutas (endpoints) para tu aplicación

  • Manejar peticiones HTTP (GET, POST, etc.)

  • Integrar middlewares

  • Servir archivos estáticos

MySQL - Conector a bases de datos

bash
Copy
Download
npm install mysql

Este paquete te permite conectarte a bases de datos MySQL desde Node.js. Con él puedes:

  • Ejecutar consultas SQL

  • Manejar conexiones a la base de datos

  • Gestionar pools de conexiones

Express-MyConnection - Manejo simplificado de MySQL

bash
Copy
Download
npm install express-myconnection

Este middleware facilita la integración de MySQL con Express, permitiendo:

  • Manejo automático de conexiones

  • Configuración centralizada

  • Inyección de la conexión en los request

Morgan - Logger para desarrollo

bash
Copy
Download
npm install morgan

Morgan es un middleware que registra las peticiones HTTP. Es útil para:

  • Depurar tu aplicación

  • Ver qué rutas se están solicitando

  • Registrar tiempos de respuesta

  • Identificar errores

EJS - Motor de plantillas

bash
Copy
Download
npm install ejs

EJS (Embedded JavaScript) te permite crear vistas dinámicas. Características:

  • Sintaxis similar a HTML

  • Posibilidad de incrustar JavaScript

  • Fácil de aprender

  • Soporte para layouts/partials

Paso 3: Configuración básica del servidor

Crea un archivo app.js o index.js con lo siguiente:

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

// Configuración
app.set('view engine', 'ejs'); // Usar EJS como motor de plantillas

// Middlewares
app.use(morgan('dev')); // Usar Morgan en modo desarrollo

// Ruta de ejemplo
app.get('/', (req, res) => {
  res.render('index', { title: 'Mi Proyecto Node' });
});

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

Paso 4: Usar Nodemon para desarrollo

Nodemon es una herramienta que reinicia automáticamente tu aplicación cuando detecta cambios. Instálalo como dependencia de desarrollo:

bash
Copy
Download
npm install --save-dev nodemon

Luego, modifica tu package.json para agregar un script de inicio:

json
Copy
Download
"scripts": {
  "start": "node app.js",
  "dev": "nodemon app.js"
}

Ahora puedes iniciar tu proyecto en modo desarrollo con:

bash
Copy
Download
npm run dev

Estructura básica de proyecto

Te recomiendo esta estructura inicial:

text
Copy
Download
/proyecto
  /node_modules
  /views
    index.ejs
  app.js
  package.json

Conclusión

Con esta configuración básica ya tienes:

  1. Un servidor web con Express

  2. Conexión a MySQL

  3. Sistema de logging con Morgan

  4. Motor de plantillas con EJS

  5. Entorno de desarrollo con Nodemon

¿Qué sigue? Puedes comenzar a:

  • Crear más rutas en tu app.js

  • Diseñar vistas EJS en la carpeta /views

  • Conectar con tu base de datos MySQL

  • Implementar lógica de negocio

¿Te gustaría que profundice en algún tema en particular? ¡Déjame un comentario en el blog

Comentarios

Entradas más populares de este blog

9-Nuestra Primera Plantilla con EJS

6-Middleware?