Necesito usar React Codes Splitting con una aplicación Create React, alojada en Firebase Hosting.
Sin embargo, tengo un problema, porque Firebase Hosting solo aloja la última versión de cualquier aplicación. Esto significa que si implementa una nueva versión de la aplicación (N+1), y un usuario tiene abierta la versión existente (N), y ese usuario cruza un límite de división de código, solicitará un fragmento antiguo (N), que no es ya no está alojado en Firebase Hosting, porque la versión actual ha cambiado (N+1).
Entonces, ¿cómo se evita la división de código ChunkLoadError s en Firebase Hosting? ¿Hay alguna manera de decirle a Firebase Hosting que conserve todas las versiones anteriores que haya implementado y solo agregue los archivos nuevos de la versión más reciente (p. ej., index.html y los fragmentos de JS/CSS?).
Lo arreglé usando el siguiente proceso:
gs://my-buck/app/releases/<git-sha>/firebase_deploy/N etiquetas de lanzamiento en el historial de gitgsutil -m -q rsync -rc gs://my-buck/app/releases/<git-sha>/ firebase_deploy/ para copiar archivos antiguosrsync -rvc build/ firebase_deploy/firebase_deploy/ , con sus fragmentos nuevos y antiguos , dando preferencia a los fragmentos nuevos donde pueda ocurrir algún conflicto.Este proceso eliminó los ChunkLoadErrors para mí.
Nota: Use un número limitado de N versiones anteriores para no aumentar su factura de almacenamiento de Firebase Hosting. Si no tiene muchos artefactos, posiblemente podría conservar todas las versiones anteriores, si lo desea.