Recientemente trabajé en mi proyecto para dividir el código en paquetes de idiomas. Se empaquetaron en el mismo fragmento principal compartido cuando se usaba el require() : (como el siguiente, solo pegué una parte simplificada para mostrar la sintaxis)
switch (lang) { case 'it': return require('./langs/it_IT.json'); case 'ja': return require('./langs/ja_JP.json'); case 'ko': return require('./langs/ko_KR.json'); default: return require('./langs/en_US.json'); } Esto es inesperado para mí. Pensé que las piezas importadas dinámicas se dividirían en partes individuales. No hasta que reescribí la pieza anterior usando import() , estos paquetes de idiomas se separaron del fragmento principal.
switch (lang) { case 'it': return import('./langs/it_IT.json'); case 'ja': return import('./langs/ja_JP.json'); case 'ko': return import('./langs/ko_KR.json'); default: return import('./langs/en_US.json'); } Investigué un poco sobre la diferencia entre require e import , pero no encontré la respuesta de por qué el paquete web no dividió el código en los módulos requeridos dinámicos. ¿Alguien puede explicar la diferencia entre estos dos métodos?