В moudle1.js я экспортирую модуль как объект.Node.js экспортирует функцию как переменную или объект между файлами
module.exports = {
attribute1: function(param1, param2) {
attribute2(param1);
attribute3(param2)
}
attribute2 : function(param) {
}
attribute3 : function(param1) {
}
};
В module2.js, я хочу, чтобы иметь возможность
var module1 = require('./module1');
exports.module1 = module1.attribute1;
exports.module1 = module1.attribute2;
Обратите внимание, что я не писал module1.attribute1(param1,param2)
намеренно. Я хотел бы, чтобы не дать параметров в этом файле, но в третьей я бы смог
var module2 = require('./module2');
var param1 = 'foo';
var param2 = 'dummy';
module.module1(param1,param2);
Это в основном для тестирования.
Вы не можете обратиться к другому свойству в том же объекте, как 'attribute2 (param1);'. Это не так, как работает Javascript. Вы можете называть его «this.attribute2 (param1)» или вы можете назвать родительский объект и ссылаться на него по имени. – jfriend00