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