Fix 1430
This commit is contained in:
		| @@ -4,20 +4,22 @@ server { | |||||||
|     listen 80; |     listen 80; | ||||||
|     server_name localhost; |     server_name localhost; | ||||||
|  |  | ||||||
|  |     # Directorio raíz donde están los archivos de la app | ||||||
|     root /usr/share/nginx/html; |     root /usr/share/nginx/html; | ||||||
|     index index.html; |     index index.html; | ||||||
|  |  | ||||||
|     # 1. Manejo explícito para el manifest.json |     # Configuración para servir los archivos estáticos y manejar el enrutamiento de la SPA | ||||||
|     # 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 |  | ||||||
|     location / { |     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; |         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"; | ||||||
|  |     } | ||||||
| } | } | ||||||
| @@ -1,38 +1,18 @@ | |||||||
|  | // frontend/vite.config.ts | ||||||
| import { defineConfig } from 'vite' | import { defineConfig } from 'vite' | ||||||
| import react from '@vitejs/plugin-react' | import react from '@vitejs/plugin-react' | ||||||
| import path from 'path'; |  | ||||||
|  |  | ||||||
| export default defineConfig({ | export default defineConfig({ | ||||||
|   plugins: [react()], |   plugins: [react()], | ||||||
|   build: { |   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', |     outDir: 'dist', | ||||||
|     manifest: true, // Le dice a Vite que genere el manifest.json |     manifest: true, // ¡Crucial! 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" |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   }, |   }, | ||||||
|   server: { |   server: { | ||||||
|     proxy: { |     proxy: { | ||||||
|       // Cualquier petición que empiece con /api... |  | ||||||
|       '/api': { |       '/api': { | ||||||
|         // ...redirígela a nuestro backend de .NET |         target: 'http://localhost:5217', // Ajuste el puerto si es diferente | ||||||
|         target: 'http://localhost:5217', |  | ||||||
|         // Cambia el origen de la petición para que el backend la acepte |  | ||||||
|         changeOrigin: true, |         changeOrigin: true, | ||||||
|         // No necesitamos reescribir la ruta, ya que el backend espera /api/... |  | ||||||
|         // rewrite: (path) => path.replace(/^\/api/, '')  |  | ||||||
|       }, |       }, | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user