Въведение в съвременните модули в JavaScript
Вече сте работили с модули чрез затваряния. В съвременния JavaScript се появиха по-удобни модули, позволяващи разполагането на всеки модул в отделен файл, а след това при необходимост да се свързват с други файлове, експортирайки само необходимите променливи и функции.
Първоначално такива модули не бяха закрепени в стандарта на JavaScript и просто се разработваха от общността. Съответно, се появиха много различни модулни системи: AMD, CommonJS, UMD и други.
След това в стандарта на JavaScript се появиха собствени модули. Те се наричат ES модули. Поради това разработените от общността модули бързо остаряха и не трябва да се използват.
Внимание трябва да се обърне само на модулите CommonJS, тъй като първоначално върху тях работеше NodeJS, а и сега той работи с тях по подразбиране за целите на съвместимостта.
Освен това, често в инструкциите за свързване на различни библиотеки ще срещнете описание точно на CommonJS варианта, а не на ES. Затова трябва да сте наясно как да преработите кода от CommonJS на ES.
Има и още един нюанс. Въпреки че модулите вече са закрепени в стандарта на JavaScript, те няма да работят в браузъра просто така (засега). За това трябва да се използва един от популярните инструменти за сборка.