Каково назначение Node.js module.exports и как вы его используете - PullRequest
1362 голосов
/ 15 марта 2011

Какова цель Node.js module.exports и как вы его используете?

Кажется, я не могу найти какую-либо информацию по этому поводу, но она кажется довольно важной частью Node.js, как я часто вижу ее в исходном коде.

Согласно документации Node.js :

модуль

ссылка на текущий module. В частности module.exports совпадает с объектом экспорта. Увидеть src/node.js для получения дополнительной информации.

Но это не очень помогает.

Что именно делает module.exports, и каким будет простой пример?

Ответы [ 11 ]

1 голос
/ 18 мая 2018

Цель:

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

Википедия

Я думаю, что становится трудно писать большие программы без модульного / многоразового кода.В nodejs мы можем создавать модульные программы, использующие module.exports, определяющие то, что мы выставляем, и составлять нашу программу с помощью require.

Попробуйте этот пример:

fileLog.js

function log(string) { require('fs').appendFileSync('log.txt',string); }

module.exports = log;

stdoutLog.js

function log(string) { console.log(string); }

module.exports = log;

program.js

const log = require('./stdoutLog.js')

log('hello world!');

выполнить

$ node program.js

hello world!

Теперь попробуйте поменять местами . / stdoutLog.js для . / fileLog.js .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...