Comment appeler une fonction depuis une autre fonction dans une déclaration module.exports
?
app.js
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();
}
}
Je tente d'accéder à la fonction foo
depuis la fonction bar
, et j'obtiens:
TypeError: Object # has no method 'foo'
Si je change this.foo()
en juste foo()
je reçois:
ReferenceError: foo is not defined
6 votes
J'ai testé votre code et je n'ai pas d'erreurs. La fonction bar retourne undefined car il n'y a pas d'instruction de retour. Êtes-vous sûr de tester correctement ?
1 votes
Testé dans la version de node
v8.12.0
et ne renvoie plus d'erreur.bar
n'a pas d'instruction de retour, donc l'exécution deconsole.log(bla.bar())
renvoie simplementundefined
0 votes
@Ferchi merci, j'ai manqué la même chose simple.