![](https://habrastorage.org/webt/o1/-i/qe/o1-iqeyqme6vgoqcdvfycgxjodq.png)
Доброго времени суток, друзья!
Представляю вашему вниманию перевод статьи «Understanding (all) JavaScript module formats and tools» автора Dixin.
При создании приложения часто возникает желание разделить код на части, логические или функциональные блоки (модули). Однако JavaScript изначально не имел поддержки модулей. Это привело к появлению различных модульных технологий. В настоящей статье обсуждаются все основные понятия, шаблоны, библиотеки, синтаксис и инструменты для работы с модулями в JavaScript.
- IIFE модуль: шаблон JS модуля
- Открытый модуль: шаблон открытого JS модуля
- CJS модуль: CommonJS модуль или Node.js модуль
- AMD модуль: асинхронное определение модуля или RequireJS модуль
- UMD модуль: универсальное определение модуля или UmdJS модуль
- ES модуль: ECMAScript2015 или ES6 модуль
- ES динамический модуль: ECMAScript2020 или ES11 динамический модуль
- Системный модуль: SystemJS модуль
- Webpack модуль: транспиляция и сборка CJS, AMD и ES модулей
- Babel модуль: транспиляция ES модуля
- TypeScript модуль: транспиляция CJS, AMD, ES и SystemJS модулей