Introducción a los módulos modernos en JavaScript
Ya has trabajado con módulos a través de cierres. En el JavaScript moderno han aparecido módulos más convenientes que permiten colocar cada módulo en un archivo separado, y luego, si es necesario, conectarlo a otros archivos, exportando solo las variables y funciones necesarias.
Inicialmente, tales módulos no estaban consolidados en el estándar JavaScript y simplemente eran desarrollados por la comunidad. En consecuencia, aparecieron muchos sistemas modulares diferentes: AMD, CommonJS, UMD y otros.
Luego, en el estándar JavaScript, aparecieron sus propios módulos. Se les llama módulos ES. Debido a esto, los módulos desarrollados por la comunidad se volvieron rápidamente obsoletos y no vale la pena usarlos.
Vale la pena prestar atención solo a los módulos CommonJS, ya que NodeJS inicialmente funcionaba con ellos, e incluso ahora funciona con ellos por defecto por razones de compatibilidad.
Además, a menudo en las instrucciones de conexión de varias bibliotecas te encontrarás con la descripción precisamente de la variante CommonJS, y no de ES. Por lo tanto, debes tener una idea de cómo convertir el código CommonJS a ES.
Hay otro matiz. Aunque los módulos ahora están consolidados en el estándar JavaScript, no funcionarán simplemente así en el navegador (por ahora). Para ello es necesario utilizar una de las herramientas de compilación populares.