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