Полный цикл в digital

Отличия между CommonJS и ESM модулями

Не могут использоваться в браузере без сборщика. В Node.js файлы с расширением .js относятся к системе модулей CommonJS, которая применяется в Node.js и предполагает использование require и module.exports:

// импорт модуля CommonJS
const product = require('product');
// экспорт модуля CommonJS
function product() {
console.log('CommonJS');
}
module.exports.product = product;

Могут использоваться в браузере без сборщика. В Node.js файлы с расширением .mjs в свою очередь, связаны с системой модулей ECMAScript Modules (ESM), в основе которой лежат директивы import и export. Система ESM позволяет всесторонне применять статический анализ и приемы оптимизации, такие как tree shaking:

// импорт модуля ESM
import product from 'product';
// экспорт модуля CommonJS
export function product() {
    console.log('ESM');
}

Помните о необходимости указания атрибута type="module" для вашего скрипта:

// так подключаются модули без сборщика
<script type="module" src="./your-module.js"></script>

В веб разработке мы используем для CommonJS и ECMAScript Modules (ESM) одно расширение файлов .js, тип указывается package.json в виде параметра type который определяет формат модуля для файлов с расширением ..js:

"type": "module"

Если файл package.json не содержит поля type, то файлы .js рассматриваются как CommonJS.

Значение module в поле type указывает Node.js интерпретировать файлы .js внутри пакета как использующие синтаксис ES.

Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг