Node.js: Работа с модулями с нуля

Работа со встроенными модулями

Node.js предоставляет множество встроенных модулей, не требующих дополнительной установки. В отличие от сторонних модулей, устанавливаемых с помощью npm, встроенные модули доступны сразу после установки Node.js.

Для использования встроенного модуля применяется функция require(). Подключим, например, модуль os:

const os = require('os');

Модуль os предоставляет информацию о системе. Функция os.platform() возвращает название операционной системы:

const platform = os.platform();
console.log(platform);

Выполнение этого кода выведет название вашей операционной системы (например, ‘darwin’ для macOS). Аналогично работают и другие встроенные модули. Их полный список представлен в официальной документации.

Создание собственного модуля

Создание собственного модуля заключается в создании файла (или папки) и его подключении к другим файлам проекта. Создадим файл myMath.js с математическими функциями:

function add(a, b) {
  return a + b;
}

function subtract(a, b) {
  return a - b;
}

module.exports = { add, subtract }; // Экспорт функций

Здесь определены функции add (сложение) и subtract (вычитание), экспортируемые с помощью module.exports.

Подключим этот модуль в файле index.js:

const myMath = require('./myMath.js');

const rs1 = myMath.add(4, 5);
const rs2 = myMath.subtract(5, 7);

console.log(rs1, rs2);

Обратите внимание на путь ‘./myMath.js’, указывающий на расположение файла модуля. Без экспорта module.exports в myMath.js возникнет ошибка.

Преимущества использования модулей

Разделение проекта на модули повышает читаемость, понятность и поддерживаемость кода. Основной файл не перегружается, а функциональность распределяется между отдельными файлами. Экспорт функций и других элементов позволяет использовать их в разных частях проекта.

В этом уроке рассмотрена работа со встроенными и собственными модулями Node.js. Принцип работы с ними одинаков, независимо от типа модуля. Модульный подход улучшает качество и упрощает поддержку проекта.

Что будем искать? Например,программа