我正在尝试在nodejs模块内调用导出的函数。
exports.sayHello = function (msg) {
console.log(msg)
}
function run(msg) {
this.sayHello(msg);
}
run("hello");
当我运行此脚本时,出现TypeError:this.sayHello不是函数
最佳答案
只需声明它与导出它分开即可(并且在调用它时不要使用this
,因为您没有将它附加到对象上):
function sayHello(msg) {
console.log(msg)
}
exports.sayHello = sayHello;
function run(msg) {
sayHello(msg);
}
run("hello");
也就是说,您可以通过
exports
调用它:exports.sayHello = function (msg) {
console.log(msg)
}
function run(msg) {
exports.sayHello(msg); // <===
}
run("hello");
...但这对我来说似乎有些round回,尽管我被告知它可以帮助进行测试,例如in this example。
关于javascript - 如何在Node.js内部调用导出的函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50887537/