Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

142
Visualizações
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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda