Встречается на собеседованиях • сегодня
В чем разница между ESM и CJS
ESM (ECMAScript Modules) и CJS (CommonJS) — это системы модулей в JavaScript.
ESM — современный стандарт, поддерживается в браузерах и Node.js (с флагом "type": "module").
- Использует
import/export. - Загружается асинхронно.
- Поддерживает статический анализ (топ-левел импорты).
CJS — legacy-система, используется в Node.js по умолчанию.
- Использует
require/module.exports. - Загружается синхронно.
- Динамический импорт (можно вызывать
requireгде угодно).
Пример:
js
// ESM
import { foo } from './module.js';
export const bar = 42;
// CJS
const { foo } = require('./module');
module.exports = { bar: 42 };Ключевые отличия:
- ESM — статический, CJS — динамический.
- ESM работает в браузерах, CJS — нет (без сборщиков).
- В Node.js ESM требует явного указания
.mjsили"type": "module".

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы