![](/img/trans.png)
[英]Node JS : Route.get() requires a callback function but got a [object Undefined] While using ES6 Modules
[英]Error: Route.get() requires a callback function but got a [object Undefined] while using imported function
我正在檢查用戶是否登錄了名為論壇的路線。 我正在像這樣導入它。 該文件是 routes/forum.js
const isloggedinimport = require('../index')
我在 index.js 上有 function
const isloggedin = (req,res,next) => {
if(req.user) {
next()
}
else {
res.render('loginerror',)
}
}
我正在出口
module.exports = isloggedin
當我嘗試運行它時
router.get('/', isloggedinimport.isloggedin, (req, res) => {
res.render('monitors/monitorhome')
});
module.exports = router
我收到 Route.get() 需要回調 function 但得到 [object Undefined] 的錯誤
錯誤在這一行
router.get('/', isloggedinimport.isloggedin, (req, res) => {
我該如何解決?
導出 function 時,嘗試使用以下代碼:
module.exports.isloggedin = isloggedin
這會將屬性isloggedin
設置為 function 以便當您調用isloggedinimport.isloggedin
時,它將正確訪問 function。 或者,您可以使用以下代碼導出您的 function:
module.exports = isloggedin
然后使用此代碼導入 function:
const isloggedin = require('../index')
...
router.get('/', isloggedin, (req, res) => {
res.render('monitors/monitorhome')
});
有同樣的問題,並通過在要導出的 function 周圍添加括號來修復它:
module.exports = {isloggedin};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.