【问题标题】:Route.get() requires a callback function but got a [object Undefined]. What did I do wrong?Route.get() 需要一个回调函数,但得到了一个 [object Undefined]。我做错什么了?
【发布时间】:2019-12-27 21:30:01
【问题描述】:

我在其他页面和论坛中检查了很多答案,但我仍然不明白。我做错什么了?帮帮我

*已编辑。我添加了要求路线和 app.use。看起来函数 isLOGgedIn 没有导出,但我不知道该怎么做。我在另一个应用程序中确实喜欢这个,它在那里工作。

auth-routes.js

const express = require("express"),
  router      = express.Router(),
  passport    = require("passport")

function isLoggedIn(req, res, next) {
  if (req.isAuthenticated()) {
    return next()
  }

  res.redirect("/auth/login")
}

module.exports = router

user-routes.js

const express  = require("express"),
  router = express.Router(),
  authRoutes = require("./auth-routes")   

router.get("/profile", authRoutes.isLoggedIn, (req, res) => {
  res.render("user/profile", {user: req.user})
})

module.exports = router

请求路由

const titleRoutes = require("./routes/title-routes")
const authRoutes = require("./routes/auth-routes")
const userRoutes = require("./routes/user-routes")   

app.use

app.use(titleRoutes)
app.use("/auth", authRoutes)
app.use("/user", userRoutes)

【问题讨论】:

    标签: javascript node.js express express-router


    【解决方案1】:

    auth-routes.js 中,您不会导出isLoggedIn。所以在user-routes.js 中,authRoutes.isLoggedInundefined

    你可以改变:

    module.exports = router
    

    进入:

    exports.isLoggedIn = isLoggedIn
    

    或使用module.exports 进入:

    module.exports = { isLoggedIn: isLoggedIn }
    

    了解nodejs中导出的​​有用链接https://www.sitepoint.com/understanding-module-exports-exports-node-js/

    【讨论】:

    • 您可以添加更多信息吗?应用程序是如何定义的,路由是如何使用的以及错误日志
    • /请求路由 const titleRoutes = require("./routes/title-routes") const authRoutes = require("./routes/auth-routes") const userRoutes = require("./routes /user-routes") /app.use app.use(titleRoutes) app.use("/auth", authRoutes) app.use("/user", userRoutes) /Error c:\Booi\DevLog\WebDev\wariLeichal \v2\node_modules\express\lib\router\route.js:202 throw new Error(msg); ^
    • 我已经编辑了我的问题。请帮帮我。我被卡住了。
    • 如果我看不到您的完整代码(或至少是重要部分)和错误堆栈跟踪,我无法帮助您
    • 现在好了。我将该方法移动到另一个文件夹并从那里导出。现在可以了。感谢您的尝试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 2021-01-20
    • 2021-04-03
    相关资源
    最近更新 更多