aUtil.js
module.exports = {
successTrue: function(data) {
return { data: data, success: true };
},
isLoggedin: async (req, res) {
//decoded token in req header
//if decoded token success,
res.json(this.successTrue(req.decoded));
}
}
该函数在test.js中调用
router.get('/check', aUtil.isLoggedin, async (req, res) => { ... })
我想在该函数中使用上面的函数。
但是我不断出错。
ReferenceError: successTrue is not defined
我尝试了很多方法。
插入'const aUtil = require('./ aUtil')`
更改为
'res.json(successTrue( ... )'
最佳答案
使用this
:
module.exports = {
successTrue: function() {
return { foo: 'bar' }
},
isLoggedin: function() {
console.log(this.successTrue())
}
}
您正在导出对象,因此
this
引用自身。如果像这样将它用作中间件,还请确保绑定了
aUtils
:router.get('/check', aUtil.isLoggedin.bind(aUtil), async (req, res) => { ... })
关于javascript - 如何在 Node js的同一模块文件中使用模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54360710/