Javafx задача updateMessage bind для добавления textArea

Настройка module.exports позволяет вызвать функцию database_module как функцию, когда required. Просто установка exports не позволяет экспортировать функцию, потому что узел экспортирует ссылки на объект module.exports. Следующий код не позволит пользователю вызывать функцию.

module.js

Следующие действия не будут работать.

exports = nano = function database_module(cfg) {return;}

Следующее будет работать, если установлено module.exports.

module.exports = exports = nano = function database_module(cfg) {return;}

console

var func = require('./module.js');
// the following line will **work** with module.exports
func();

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


Вторая наименее важная причина

Они устанавливают как module.exports, так и exports, чтобы гарантировать, что exports не ссылается на предыдущий экспортируемый объект. Установив оба параметра, вы используете exports как сокращенное название и избегаете потенциальных ошибок позже по дороге.

Использование exports.prop = true вместо module.exports.prop = true сохраняет символы и позволяет избежать путаницы.

0
задан alex.pulver 16 January 2019 в 12:32
поделиться