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

165
Vistas
¿Cómo hago que el paquete web fragmente automáticamente las importaciones dinámicas de node_modules?

Estoy importando una dependencia de npm usando una llamada de importación dinámica como esta

 const { default: Sortable } = await import( /* webpackMode: "lazy" */ 'sortablejs' );

Quiero que webpack vea esta importación y sepa cómo crear una parte separada para ella. Sin embargo, webpack parece mantener la dependencia en el mismo paquete principal.

Esta técnica funciona para la carga diferida de mis propios archivos js como este.

 const importedComponent = await import(/* webpackMode: "lazy" */ `./components/${templateId}.js`);

Sin embargo, por alguna razón, al importar una dependencia de node_modules, no realiza este comportamiento y mantiene la dependencia incluida en mi paquete principal.

La configuración de mi paquete web se ve así

 'use strict'; const path = require('path'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); module.exports = function (env, argv) { const webpackConfig = { mode: argv.mode, devtool: argv.mode == 'production' ? undefined : 'eval', target: 'web', plugins: [ new MiniCssExtractPlugin(), ], entry: { designer: ['./src/webapps/designer/designer.js', './src/webapps/designer/designer.css'], }, output: { filename: '[name].bundle.js', path: path.resolve('build', 'public'), publicPath: '/', clean: true, }, module: { rules: [ { test: /\.css$/, use: [ MiniCssExtractPlugin.loader, { loader: 'css-loader', options: { url: false, }, }, ], }, { test: /\.html$/i, loader: 'html-loader', }, ], }, }; return webpackConfig; };

NOTA: Puedo forzarlo a crear un fragmento separado usando la optimización.splitChunks.chunks='all';. Sin embargo, esto no realiza el comportamiento previsto porque el paquete web no genera código para recuperar dinámicamente la dependencia con una solicitud web. En su lugar, tendría que incluir manualmente ese fragmento en el código fuente HTML. Quiero que el código empaquetado en la web obtenga la dependencia por sí mismo cuando sea necesario.

Versión del nodo: 18.0.0

Versión del paquete web: 5.72.0

Webpack versión cli: 4.9.2

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