Понимание модуля.exports в JavaScript для модулей Node.js

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

Вот несколько методов, связанных с module.exportsв JavaScript:

  1. Экспорт по умолчанию: вы можете использовать module.exportsдля экспорта одного значения в качестве экспорта модуля по умолчанию. Это позволяет импортировать модуль, используя упрощенный синтаксис. Например:

    // math.js
    const add = (a, b) => a + b;
    module.exports = add;
    // app.js
    const addFunction = require('./math');
    console.log(addFunction(2, 3)); // Output: 5
  2. Именованный экспорт: вы также можете использовать module.exportsдля экспорта нескольких значений из модуля. Это позволяет импортировать определенные значения, используя их имена. Например:

    // math.js
    module.exports.add = (a, b) => a + b;
    module.exports.subtract = (a, b) => a - b;
    // app.js
    const { add, subtract } = require('./math');
    console.log(add(5, 3)); // Output: 8
    console.log(subtract(5, 3)); // Output: 2
  3. Экспорт объектов. Вы можете экспортировать объект с несколькими свойствами и методами, используя module.exports. Например:

    // utils.js
    module.exports = {
     greet: () => console.log('Hello'),
     calculate: (a, b) => a + b,
    };
    // app.js
    const utils = require('./utils');
    utils.greet(); // Output: Hello
    console.log(utils.calculate(3, 4)); // Output: 7
  4. Экспорт классов. Вы можете экспортировать класс с помощью module.exports. Это позволяет импортировать и использовать класс в других модулях. Например:

    // calculator.js
    class Calculator {
     add(a, b) {
       return a + b;
     }
     subtract(a, b) {
       return a - b;
     }
    }
    module.exports = Calculator;
    // app.js
    const Calculator = require('./calculator');
    const calc = new Calculator();
    console.log(calc.add(2, 3)); // Output: 5
    console.log(calc.subtract(5, 3)); // Output: 2