Cómo Iniciar un Proyecto Node.js
Cómo Iniciar un Proyecto Node.js: Diferentes Métodos Explicados
Solución 1: Cambiar la política de ejecución (recomendado)
Abre PowerShell como administrador.
Ejecuta este comando para permitir la ejecución de scripts firmados:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
En el ecosistema Node.js existen varias formas de iniciar un proyecto, y cada una tiene su propósito específico. Vamos a desglosar todas las opciones:
1. Métodos para Iniciar el Proyecto
a) npm run dev
(Recomendado para desarrollo)
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:
"scripts": { "dev": "nodemon app.js" }
Ventajas:
Reinicio automático al hacer cambios (hot reload)
Ideal para desarrollo
Muestra errores claramente en consola
b) node src/app.js
(Ejecución directa)
node src/app.js
Qué hace: Ejecuta directamente el archivo JavaScript con Node
Cuándo usarlo:
Para pruebas rápidas
Cuando no necesitas reinicio automático
En entornos donde no tienes Nodemon instalado
c) npm start
(Para producción)
npm start
Configuración típica:
"scripts": { "start": "node app.js" }
Características:
Forma estándar para iniciar en producción
No incluye reinicio automático
Usa el motor Node directamente (más eficiente)
2. Generador Express con EJS: express --view=ejs
El generador oficial de Express ofrece una forma rápida de crear la estructura de un proyecto:
npx express-generator --view=ejs mi-proyecto
Qué hace este comando:
Crea una estructura de proyecto completa
Configura automáticamente EJS como motor de vistas
Incluye una estructura de rutas básica
Agrega archivos públicos y vistas iniciales
Estructura generada:
mi-proyecto/
├── bin/
│ └── www # Punto de entrada del servidor
├── public/ # Archivos estáticos
├── routes/ # Rutas de la aplicación
├── views/ # Plantillas EJS
│ ├── error.ejs
│ └── index.ejs
├── app.js # Configuración principal
└── package.json
Ventajas:
Ahorra tiempo en configuración inicial
Sigue convenciones estándar
Incluye un servidor HTTP configurado
Desventajas:
Genera más archivos de los que podrías necesitar para proyectos pequeños
Menos flexible que una configuración manual
Comparativa: Método Manual vs Generador Express
Característica | Configuración Manual | express-generator |
---|---|---|
Control detallado | ✅ Total | ⚠️ Limitado |
Tiempo de configuración | ⏳ Largo | ⚡ Rápido |
Complejidad inicial | Baja | Media |
Flexibilidad | Alta | Moderada |
Ideal para | Aprendizaje/Proyectos personalizados | Prototipos rápidos |
Recomendaciones finales
Para aprender: Usa configuración manual (
npm init
+ paquetes individuales)Para prototipar rápidamente: Usa el generador (
express --view=ejs
)En desarrollo: Siempre usa
npm run dev
con NodemonEn producción: Usa
npm start
o despliega con PM2
Ejemplo de package.json completo:
{
"name": "mi-proyecto",
"version": "1.0.0",
"scripts": {
"start": "node app.js",
"dev": "nodemon app.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"dependencies": {
"ejs": "^3.1.8",
"express": "^4.18.2",
"morgan": "^1.10.0",
"mysql": "^2.18.1"
},
"devDependencies": {
"nodemon": "^2.0.20"
}
}
¿Quieres que profundicemos en cómo configurar rutas con el generador Express o prefieres ver cómo integrar MySQL con la estructura manual?
Comentarios
Publicar un comentario