Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

645
Vistas
Actualice la aplicación Angular en AWS S3 + Cloudfront

Implementé una aplicación Angular 9 de producción en S3 + frente a la nube. Funciona muy bien pero tengo algunos problemas cada vez que lanzo una nueva actualización de la aplicación. Leí muchos artículos:

  • https://medium.com/@sumn2u/react-progressive-web-app-s3-and-cloudfront-6c890fa873fb
  • https://medium.com/driven-by-code/on-the-importance-of-correct-headers-and-metadata-in-s3-origins-for-aws-cloudfront-50da2f9370ae

Configuré el almacenamiento en caché correcto para index.html y ngsw-worker.js para que no se almacenen en caché desde cloudFront. Cada implementación de Angular se guarda en S3 en una nueva carpeta con el número de compilación, así:

ingrese la descripción de la imagen aquí

Después de hacer esto, cambio el nombre del directorio de CloudFront para señalar la nueva ubicación. Desafortunadamente, hacer esto crea varios problemas a los clientes que tienen una versión anterior de la aplicación. De hecho, si el trabajador del servicio no recibió la actualización cuando el usuario cargó la aplicación, si el usuario carga alguna parte de la aplicación que no estaba almacenada en caché antes, obtengo un error al cargar el fragmento (porque ya no existe en S3 ).

Entonces, me pregunto cuál es la mejor manera de implementar continuamente una aplicación Angular en AWS S3 + CloudFront. ¿Se supone que debo cargar todos los archivos dentro de la misma carpeta? ¿No es demasiado ineficiente (muy pronto tendré miles de archivos)? Cualquier pista es realmente apreciada.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puedes hacer lo siguiente:

  1. Implemente directamente la carpeta de compilación en el depósito S3.
  2. No se requiere para almacenar en caché el archivo index.html
  3. Siempre que implemente o cargue una compilación en S3, realice el siguiente paso
  4. Ir al frente de la nube
  5. Hacer invalidación de objetos
  6. Crear entrada /*

ingrese la descripción de la imagen aquí

Guión de implementación

Para una implementación continua, puede escribir un script usando boto3 de aws para invalidar automáticamente el almacenamiento en caché una vez que la carpeta se cargó correctamente.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda