预先为标题道歉,我真的不知道该如何总结。
尝试运行我的Express应用时出现以下错误
TypeError: Cannot read property 'get' of undefined
at authHandler (file:///api/src/authUtil.mjs:34:19)
at file:////api/src/routes/application.mjs:6:12
at ModuleJob.run (internal/modules/esm/module_job.js:96:12)
authHandler
是一个看起来像这样的函数:
export function authHandler (req, res, next) {
var token = req.get('Authorization')
//shortened
next()
}
正在application.mjs
中从Express路由器中调用它,如下所示:
router.use(authHandler())
(是,已导入)
但是,由于某些原因,req
显示为未定义。
有什么想法吗?
答案 0 :(得分:4)
您正在呼叫处理程序并将其结果注册到路由器。
您实际要做的是注册处理程序本身:router.use(authHandler)
编辑:发生错误的原因是您不带任何参数调用authHandler
。无论如何,您根本不需要调用它。