Guía frontend-backend
Para crear el código desde 0 puedes seguir los siguientes pasos
Estructura final del proyecto
mi-proyecto/
├── mi-aplicacion-react/ # Proyecto React+Vite
│ ├── dist/ # Archivos compilados
│ ├── node_modules/
│ ├── public/
│ ├── src/
│ ├── package.json
│ └── vite.config.js
│
├── server/ # Servidor Express
│ ├── node_modules/
│ ├── package.json
│ └── server.js
│
└── package.json # Scripts de despliegue
Paso 1: Crear un proyecto React con Vite
# Usando npm
npm create vite@latest mi-aplicacion-react -- --template react
# O usando yarn
yarn create vite mi-aplicacion-react --template react
Paso 2: Desarrollar tu aplicación React
cd mi-aplicacion-react
npm install # o yarn
npm run dev # o yarn dev
Esto debería iniciar el servidor de desarrollo de Vite y podrás ver tu aplicación en http://localhost:5173
.
Paso 3: Compilar la aplicación para producción
npm run build # o yarn build
Esto creará una carpeta dist
en la raíz de tu proyecto con todos los archivos estáticos compilados.
Paso 4: Configurar un servidor Express para servir los archivos estáticos
Ahora, vamos a crear un servidor Express que servirá los archivos estáticos:
- Crea una carpeta llamada server en la raíz de tu proyecto:
mkdir server
cd server
- Inicializa un nuevo proyecto Node.js:
npm init -y
- Instala express
npm install express
- Crea un archivo server.js dentro de la carpeta server con el siguiente contenido:
// server.js - Versión corregida
const express = require('express');
const path = require('path');
const app = express();
const PORT = process.env.PORT || 3000;
// Middleware para servir archivos estáticos
app.use(express.static(path.join(__dirname, '../dist')));
// API endpoints (opcional)
app.get('/api/health', (req, res) => {
res.json({ status: 'ok', timestamp: new Date() });
});
// Inicia el servidor
app.listen(PORT, () => {
console.log(`Servidor ejecutándose en http://localhost:${PORT}`);
});
Paso 5: Crear un script para iniciar el servidor
Añade un script de inicio en el package.json del servidor:
{
"scripts": {
"start": "node server.js"
}
}
Paso 6: Preparar la estructura para despliegue
Configurar un script para despliegue completo.
Crea un package.json
en la raíz del proyecto que incluya scripts para compilar React y ejecutar el servidor:
{
"name": "react-express-monolito",
"version": "1.0.0",
"scripts": {
"build:client": "cd mi-aplicacion-react && npm run build",
"start:server": "cd server && npm start",
"deploy": "npm run build:client && npm run start:server"
}
}
Paso 7: Ejecutar el servidor
Navega a la carpeta server
e inicia el servidor:
cd server
npm start
Tu aplicación React ahora estará disponible en http://localhost:3000
(o en el puerto que hayas configurado).