Tengo una gran aplicación web que se creó hace unos 9 u 8 años con tecnología " pug ", y en los últimos años se agregaron páginas en un marco innovador (vue.js) Ahora, en cualquier transición entre una página antigua (pug) y una página vue, el paquete web (versión 3.12) carga un archivo build.js (¡3,8 MB!) que se encuentra en index.html y tarda un promedio de 9 segundos en cargarse e interfiere significativamente con la experiencia de usuario.
¿Hay alguna forma de guardar build.js en el caché? o alternativamente, me encantaría saber si alguien tiene otra idea que pueda mejorar la experiencia del usuario
el servidor web del sitio es Nginx
editar: aquí está mi archivo nginx (las partes relevantes)
server { listen 80; server_name xxx.com; return 301 https://xxx$request_uri; } server { listen 443 ssl; server_name xxx.com; gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; gzip_min_length 1000; location ~ ^/dist/(?:ico|css|js|gif|jpe?g|png)$ { expires 30d; } location ~ ^/public/(\d+)/(.+)$ { try_files /lbo_builds/build_$1/public/$1/$2 =404; } location ~ ^/export/data/(.+)$ { gzip_static always; add_header Content-Encoding gzip; add_header Content-disposition attachment; try_files /lbo_exported_files/$1.gz =404; } location /customer_upload_document_proxy { proxy_set_header Cookie JSESSIONID=$cookie_jba_session; proxy_pass xxx; } location / { expires off; add_header Cache-Control "max-age=0, no-store, no-cache, must-revalidate"; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://$backend_upstream$request_uri; } }build.js único en pequeños fragmentos para aprovechar la descarga paralela del navegador. server { listen 80; server_name xxx.com; return 301 https://xxx$request_uri; } server { listen 443 ssl; server_name xxx.com; gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; gzip_min_length 1000; location ~ ^/public/(\d+)/(.+)$ { try_files /lbo_builds/build_$1/public/$1/$2 =404; } location ~ ^/export/data/(.+)$ { gzip_static always; add_header Content-Encoding gzip; add_header Content-disposition attachment; try_files /lbo_exported_files/$1.gz =404; } location /customer_upload_document_proxy { proxy_set_header Cookie JSESSIONID=$cookie_jba_session; proxy_pass xxx; } location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { expires 30d; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://$backend_upstream$request_uri; } location / { expires off; add_header Cache-Control "max-age=0, no-store, no-cache, must-revalidate"; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://$backend_upstream$request_uri; } }