Поиск по сайту
Ctrl + K
Вопросы по Node.js

Какова функция module.exports?

module.exports — это специальный объект в Node.js, который используется для экспорта функций, объектов или значений из модуля, чтобы они могли быть импортированы и использованы в других модулях. Это основной механический элемент системы модулей CommonJS в Node.js.

Зачем нужно module.exports?

Когда вы пишете код в Node.js, обычно вы делите его на несколько файлов (или модулей) для лучшей организации и повторного использования. С помощью module.exports вы можете указать, что именно должно быть доступно в других модулях, когда они импортируют ваш модуль.

Пример использования

  • Создание модуля (файл math.js):
  • // math.js
    const add = (a, b) => a + b;
    const subtract = (a, b) => a - b;
    
    // Экспортируем функции
    module.exports = {
        add,
        subtract
    };
    
  • Импорт модуля (файл app.js):
  • // app.js
    const math = require('./math');
    
    const resultAdd = math.add(5, 3);
    const resultSubtract = math.subtract(5, 3);
    
    console.log(`Сумма: ${resultAdd}`);          // Сумма: 8
    console.log(`Разность: ${resultSubtract}`);  // Разность: 2
    

    Как это работает

    • В примере выше мы создали модуль math.js, который содержит две функции: add и subtract. Эти функции экспортируются с помощью module.exports.
    • Затем в app.js мы импортируем наш math модуль с помощью функции require(). Теперь add и subtract доступны для использования в этом файле.

    Альтернативное использование

    Можно использовать module.exports не только для объектов, но и для единичных значений, например:

    // singleFunction.js
    const greeting = (name) => `Привет, ${name}!`;
    
    module.exports = greeting; // экспортируем одну функцию
    

    И тогда использование будет таким:

    // app.js
    const greet = require('./singleFunction');
    
    console.log(greet('Мир')); // Привет, Мир!
    

    Заключение

    Использование module.exports — это один из самых простых и мощных способов организовать и структурировать код в Node.js, позволяющий вам делиться функциональностью между разными файлами, что делает код более чистым и управляемым.

    Содержание:
    Редактировать