Назад к вопросам
Middle
124
questionbank

Какие существуют системы модульности в Node.js?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

CommonJS и ECMAScript Modules (ESM).

CommonJS:

  • Использует require() для импорта модулей и module.exports или exports для экспорта.
  • Синхронно загружает модули.
  • Является стандартным для версий Node.js до 12.0.0.
// CommonJS импорт
const fs = require('fs');

// CommonJS экспорт
module.exports = {
  readFile: fs.readFileSync
};

ECMAScript Modules (ESM):

  • Использует операторы import и export.
  • Асинхронно загружает модули.
  • Является стандартом для более новых версий Node.js (начиная с 12.0.0 с флагом --experimental-modules, полностью с 14.0.0 по умолчанию с расширением .mjs или type: "module" в package.json).
// ESM импорт
import fs from 'fs';

// ESM экспорт
export const readFile = fs.readFileSync;

Сравнение:

Характеристика CommonJS ESM
Импорт require() import
Экспорт module.exports, exports export
Загрузка Синхронная Асинхронная
Синтаксис Динамический (можно внутри условий) Статический (только на верхнем уровне)