Fix Boostrap
This commit is contained in:
@@ -1,24 +1,33 @@
|
|||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
server_name localhost;
|
server_name localhost;
|
||||||
|
|
||||||
root /usr/share/nginx/html;
|
root /usr/share/nginx/html;
|
||||||
index index.html;
|
index index.html;
|
||||||
|
|
||||||
# Añadimos una ubicación específica para los archivos .mjs
|
# --- NUEVO BLOQUE ESPECÍFICO PARA BOOTSTRAP.JS ---
|
||||||
location ~ \.mjs$ {
|
location = /bootstrap.js {
|
||||||
# Incluimos los tipos MIME por defecto para que Nginx pueda inferir otros tipos si es necesario
|
# Esta cabecera le dice a los proxies que deben revalidar el archivo
|
||||||
include /etc/nginx/mime.types;
|
# con el servidor de origen antes de servirlo desde la caché.
|
||||||
# Forzamos explícitamente el tipo de contenido para esta ubicación
|
add_header Cache-Control "no-cache, must-revalidate";
|
||||||
default_type application/javascript;
|
|
||||||
|
# 'expires off' es otra capa de seguridad para evitar que se cachee
|
||||||
|
expires off;
|
||||||
|
|
||||||
|
# Intenta servir el archivo. Si no existe, devuelve 404.
|
||||||
|
try_files $uri =404;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Bloque para otros activos estáticos (con hash) que SÍ pueden ser cacheados agresivamente
|
||||||
|
location ~* \.(?:js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ {
|
||||||
|
# Estos archivos cambian de nombre en cada build, así que pueden
|
||||||
|
# ser cacheados por mucho tiempo sin riesgo.
|
||||||
|
expires 1y;
|
||||||
|
add_header Cache-Control "public";
|
||||||
|
try_files $uri =404;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Bloque para la SPA
|
||||||
location / {
|
location / {
|
||||||
try_files $uri $uri/ /index.html;
|
try_files $uri $uri/ /index.html;
|
||||||
}
|
}
|
||||||
|
|
||||||
location ~* \.(?:css|js|jpg|jpeg|gif|png|ico|svg|woff|woff2)$ {
|
|
||||||
expires 1y;
|
|
||||||
add_header Cache-Control "public";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
19
Elecciones-Web/frontend/public/bootstrap.js
vendored
19
Elecciones-Web/frontend/public/bootstrap.js
vendored
@@ -54,22 +54,19 @@
|
|||||||
// 4. Cargar el JS principal y esperar a que esté listo
|
// 4. Cargar el JS principal y esperar a que esté listo
|
||||||
await loadScript(jsUrl);
|
await loadScript(jsUrl);
|
||||||
|
|
||||||
console.log('Bootstrap: Intentando llamar a render...');
|
|
||||||
if (window.EleccionesWidgets && typeof window.EleccionesWidgets.render === 'function') {
|
|
||||||
console.log('Bootstrap: La función render existe. Llamando ahora.');
|
|
||||||
window.EleccionesWidgets.render();
|
|
||||||
} else {
|
|
||||||
console.error('Bootstrap: La función render no se encontró en window.EleccionesWidgets.');
|
|
||||||
}
|
|
||||||
|
|
||||||
// 5. Una vez cargado, llamar a la función de renderizado
|
// 5. Una vez cargado, llamar a la función de renderizado.
|
||||||
if (window.EleccionesWidgets && typeof window.EleccionesWidgets.render === 'function') {
|
if (window.EleccionesWidgets && typeof window.EleccionesWidgets.render === 'function') {
|
||||||
console.log('Bootstrap: La función render existe. Llamando ahora.');
|
console.log('Bootstrap: La función render existe. Renderizando todos los widgets encontrados...');
|
||||||
// Encontramos los contenedores aquí y pasamos sus props.
|
|
||||||
const widgetContainers = document.querySelectorAll('[data-elecciones-widget]');
|
const widgetContainers = document.querySelectorAll('[data-elecciones-widget]');
|
||||||
|
|
||||||
|
if (widgetContainers.length === 0) {
|
||||||
|
console.warn('Bootstrap: No se encontraron contenedores de widget en la página.');
|
||||||
|
}
|
||||||
|
|
||||||
widgetContainers.forEach(container => {
|
widgetContainers.forEach(container => {
|
||||||
// 'dataset' es un objeto que contiene todos los atributos data-*
|
// 'dataset' es un objeto que contiene todos los atributos data-*
|
||||||
// container.dataset = { eleccionesWidget: 'mapa-municipios', focoMunicipio: 'LA PLATA' }
|
|
||||||
window.EleccionesWidgets.render(container, container.dataset);
|
window.EleccionesWidgets.render(container, container.dataset);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user