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

145
Vistas
Fragmento de carga diferida con webpack 4

Tengo una aplicación móvil react js. Estoy tratando de acelerar la carga de la pantalla inicial. En mi investigación, descubrí que la mayoría del código JS no se usa en la pantalla de inicio, y la carga diferida sería una buena solución. Primero traté de usar react.lazy() en las rutas y esto funcionó en el desarrollo con implementación en caliente, pero cuando genero JS estáticos para publicar en el servidor de lanzamiento, no funciona, a pesar de que el paquete redujo el tamaño. Se muestra como una ventana emergente "sin conexión".

Dividí mis archivos JS en fragmentos usando el paquete web, y podría poner solo paquetes esenciales en un fragmento (proveedor inicial) y no esenciales en otro (prefechVendor). El problema de que los archivos webpack JS bloquean la pantalla para pintar primero, se carga justo después de que cada JS finaliza, incluso el que no es necesario. Cuando pruebo en la pestaña de desarrollador de Chrome, la "Cobertura JS" muestra que "prefetchVendor" no se usa en un 99.9% y que initialVendor se usa en un 80% (cubierto). Pero cuando bloqueo la carga de prefetchVendor, no muestra la página.

Mi webpack.producción.js

 optimization: { runtimeChunk: 'async', splitChunks: { chunks: 'all', maxInitialRequests: Infinity, minSize: 0, cacheGroups: { default: { minChunks: 3, reuseExistingChunk: true, }, initialVendor: { test: /[\\/]node_modules[\\/](react-bootstrap|react|react-dom)[\\/]/, name: "initialVendor" }, prefetchVendor: { test: /[\\/]node_modules[\\/](pdfjs-dist|@nivo|node-forge|moment|moment-timezone|lottie-web|react-pdf)[\\/]/, name: "prefetchVendor" }, vendor: { test: /[\\/]node_modules[\\/](!react-bootstrap)(!pdfjs-dist)(!@nivo)(!node-forge)(!react-pdf)(!moment)(!moment-timezone)(!lottie-web)[\\/]/, name: "vendor" }, }, }, runtimeChunk: true,

Mis rutas.jsx

 import { component1 } from 'features/component1'; import { component2 } from 'features/component2'; import { component3 } from 'features/component3';

y luego los componentes que incluye las librerías

Creo que este 0.01% de uso en la cobertura (me muestra Chrome) es un paquete web de código insertado en el fragmento. ¿Cómo puedo definir la configuración del paquete web para cargar "prefetchVendor" después de los demás y de forma asíncrona?

about 4 years ago · Juan Pablo Isaza
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