ссылка ссылается следующим образом:
exports = module.exports = function(){
//....
}
свойства exports
или module.exports
, такие как функции или переменные, будут экспонированы вне
, существует что вы должны уделять больше внимания: не экспортируйте override
.
почему?
, поскольку экспортирует только ссылку на module.exports, вы можете добавить свойства в экспорт, но если вы переопределите экспорт, ссылка будет нарушена.
хороший пример:
exports.name = 'william';
exports.getName = function(){
console.log(this.name);
}
плохой пример:
exports = 'william';
exports = function(){
//...
}
Если вы просто хотите разоблачить только одну функцию или переменную, например:
// test.js
var name = 'william';
module.exports = function(){
console.log(name);
}
// index.js
var test = require('./test');
test();
этот модуль обнаружил только одну функцию, а свойство имени является закрытым для внешнего.