Ответ 1
Просто module.exports.functionOne()
.
Если это слишком громоздко, просто выполните следующее:
function fnOne() {
console.log("One!");
}
module.exports.fnOne = fnOne;
У меня есть две функции в одном файле, оба из которых доступны извне. Одна из функций вызывается второй.
module.exports.functionOne = function(param) {
console.log('hello'+param);
};
module.exports.functionTwo = function() {
var name = 'Foo';
functionOne(name);
};
Когда это выполняется, вызов функцииOne помечен как не определенный.
Какой правильный способ ссылаться на него?
Один шаблон, который я нашел, работает, ссылаясь на сам файл.
var me = require('./thisfile.js');
me.functionOne(name);
... но похоже, что должен быть лучший способ.
Просто module.exports.functionOne()
.
Если это слишком громоздко, просто выполните следующее:
function fnOne() {
console.log("One!");
}
module.exports.fnOne = fnOne;
var me = require(module.filename);
me.functionOne(name);
или просто использовать сам объект экспорта
module.exports.functionOne(name);
Я предполагаю, что я думал, что требование эквивалентно включению, импорту и т.д. Если есть другой способ, это может быть интересно увидеть. Я все еще мочу за ушами node.
Джеймс Хердманс Понимание node.js "требует" действительно помогло мне, когда дело дошло до помощи в организации кода. Его определенно стоит посмотреть!
// ./models/customer.js
Customer = function(name) {
var self = this;
self.name = name;
};
// ./controllers/customercontroller.js
require("../models/customer");
CustomerController = function() {
var self = this;
var _customers = [
new Customer("Sid"),
new Customer("Nancy")
];
self.get() {
return _customers;
}
};