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

721
Vistas
componentes cargables: no se pudo cargar el componente de forma asíncrona

Creé el módulo A, que es una biblioteca de componentes para mi aplicación React. Que planeo usar en el módulo B, que es mi aplicación React real.

Tengo un index.js mediante el cual exporto mis componentes del módulo A usando componentes cargables de la siguiente manera

 import loadable from '@loadable/component' export const Theme = loadable(() => import('./Theme')) export const OtherComponent = loadable(() => import('./OtherComponent')) export const OtherComponent2 = loadable(() => import('./OtherComponent2'))

Por lo tanto, construyo e implemento el módulo A en npm usando la siguiente configuración de paquete web

 const path = require('path') const { CleanWebpackPlugin } = require('clean-webpack-plugin') const TerserPlugin = require("terser-webpack-plugin") const LoadablePlugin = require('@loadable/webpack-plugin') module.exports = { mode: 'production', optimization: { usedExports: true, minimize: true, concatenateModules: false, minimizer: [new TerserPlugin({ terserOptions: { keep_fnames: true } })], }, entry: { main: './src/components/index.js', }, output: { publicPath: '/', filename: "[name].js", path: path.resolve(__dirname, "dist"), library: "myComponentLibrary", libraryTarget: "umd", globalObject: "this" }, externals: { react: { root: 'React', commonjs: 'react', commonjs2: 'react', amd: 'react', }, }, plugins: [new CleanWebpackPlugin(), new LoadablePlugin()], module: { rules: [ { test: /\.(js|jsx)$/, exclude: /node_modules/, use: [ { loader: "babel-loader", options: { cacheDirectory: true } } ], }, { test: /\.(jpe?g|png|gif|svg)$/, type: 'asset/inline' }, ] } }

Esperaba que cuando instalara npm el módulo A en el módulo B pudiera importar y renderizar mis componentes, pero en su lugar aparece el siguiente error.

componentes cargables: no se pudo cargar de forma asíncrona el componente { fileName: indefinido, chunkName: indefinido, error: 'Error al cargar el fragmento 2661.\n(error: 2661.js)' }

Proporcione alguna orientación sobre cómo puedo resolver este problema.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Si todo funciona bien en el desarrollo pero no en la producción y se enfrenta a este error, agregue este <base href="/"/> al encabezado de index.html:

 <!DOCTYPE html> <html> <head> <base href="/"/> <meta charset="utf-8" /> <title>Foo project</title> </head> <body> <div id="app"></div> <!-- built files will be auto injected --> </body> </html>

Ahora, creo que todo está funcionando bien. Este problema se debe al enrutamiento html5, puede buscarlo.

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