This commit is contained in:
2025-09-03 14:30:20 -03:00
parent 18439c40d7
commit 6a508f468b
2 changed files with 16 additions and 34 deletions

View File

@@ -4,20 +4,22 @@ server {
listen 80;
server_name localhost;
# Directorio raíz donde están los archivos de la app
root /usr/share/nginx/html;
index index.html;
# 1. Manejo explícito para el manifest.json
# El '=' hace que sea una coincidencia exacta y de alta prioridad.
location = /manifest.json {
# Evita que el navegador guarde en caché el manifest, que puede cambiar con cada build.
add_header 'Cache-Control' 'no-cache, no-store, must-revalidate';
# Intenta servir el archivo. Si no existe, devuelve un 404 real.
try_files $uri =404;
}
# 2. Manejo de todas las demás rutas para la SPA
# Configuración para servir los archivos estáticos y manejar el enrutamiento de la SPA
location / {
# Intenta servir el archivo solicitado directamente ($uri),
# luego como un directorio ($uri/),
# y si no encuentra nada, devuelve el index.html
# Esto es crucial para que el enrutamiento de React funcione.
try_files $uri $uri/ /index.html;
}
# Opcional: optimizaciones para archivos estáticos
location ~* \.(?:css|js|jpg|jpeg|gif|png|ico|svg|woff|woff2)$ {
expires 1y;
add_header Cache-Control "public";
}
}

View File

@@ -1,39 +1,19 @@
// frontend/vite.config.ts
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import path from 'path';
export default defineConfig({
plugins: [react()],
build: {
// Mantenemos la configuración de librería para generar el UMD
lib: {
entry: path.resolve(__dirname, 'src/main.tsx'),
name: 'EleccionesWidgets',
fileName: 'elecciones-widgets', // Vite añadirá .umd.js automáticamente
formats: ['umd']
},
outDir: 'dist',
manifest: true, // Le dice a Vite que genere el manifest.json
rollupOptions: {
// Asegura que el manifest se genere incluso en modo librería
output: {
assetFileNames: "assets/[name].[hash].[ext]",
chunkFileNames: "assets/[name].[hash].js",
entryFileNames: "assets/[name].[hash].js"
}
}
manifest: true, // ¡Crucial! Le dice a Vite que genere el manifest.json
},
server: {
proxy: {
// Cualquier petición que empiece con /api...
'/api': {
// ...redirígela a nuestro backend de .NET
target: 'http://localhost:5217',
// Cambia el origen de la petición para que el backend la acepte
target: 'http://localhost:5217', // Ajuste el puerto si es diferente
changeOrigin: true,
// No necesitamos reescribir la ruta, ya que el backend espera /api/...
// rewrite: (path) => path.replace(/^\/api/, '')
},
}
}
})
})