Estoy tratando de crear una aplicación web con un punto de entrada principal ( index.js ) y una serie de módulos que quiero cargar dinámicamente.
Algo como:
document.getElementById('button1').addEventListener('click', async function(){ const mod = await import('module1.js'); mod.run(); }); export function run() { console.log("Hello from module1"); }¿Es posible crear un paquete para cada uno de estos archivos usando Webpack 5?
Parece que Webpack me permite establecer múltiples puntos de entrada .
Sin embargo, para exponer todas las exportaciones de module1.js , necesito configurar output.library .
Pero si lo hago, entonces index.js también se crea como una biblioteca, ya que solo puede haber un campo de salida .
Podría configurar Webpack para compilar tanto mi secuencia de comandos principal como los módulos usando varias configuraciones , pero si intento esto, el servidor webpack-dev-server intenta iniciar dos instancias y falla.
Imprime errores como:
<e> [webpack-dev-middleware] ConcurrentCompilationError: You ran Webpack twice. Each instance only supports a single concurrent compilation at a time.
Encontré una respuesta: la forma correcta de hacer esto es usar una importación dinámica. De forma predeterminada, Webpack coloca el recurso importado dinámicamente en diferentes archivos.
Más documentación: