Call a "local" function within module.exports from another function in module.exports?
How do you call a function from within another function in a module.exports
declaration?
var bla = require('./bla.js');
console.log(bla.bar());
bla.js
module.exports = {
foo: function (req, res, next) {
return ('foo');
},
bar: function(req, res, next) {
this.foo();
}
}
I'm trying to access the function foo
from within the function bar
, and I'm getting:
TypeError: Object # has no method 'foo'
If I change this.foo()
to just foo()
I get:
ReferenceError: foo is not defined
Change this.foo()
to module.exports.foo()
You could declare your functions outside of the module.exports
block.
var foo = function (req, res, next) {
return ('foo');
}
var bar = function (req, res, next) {
return foo();
}
Then:
module.exports = {
foo: foo,
bar: bar
}