小编eek*_*eek的帖子

这对 res.locals 来说是不好的做法吗?(Node.js,表达)

我想知道像此代码示例中那样使用 res.locals 是否是不好的做法,或者如果您这样使用它是否会出现任何问题:

app.use((req, res, next) => {
    const session = req.cookies.session
    if (session) {
        db.admin.auth().verifySessionCookie(session, true)
            .then((decodedData) => {
                res.locals.userId= decodedData.uid
                next();
            })
            .catch(() => {
                res.locals.userId = false
                next();
            })
    } else {
        res.locals.userId = false
        next();
    }

app.get("/", async (req, res) => {
    console.log(res.locals.userId)
    res.render("home.hbs")
})
Run Code Online (Sandbox Code Playgroud)

基本上我:

  1. 我验证了 app.use 中的会话 cookie(我正在使用 firebase auth)
  2. 我设置了 res.locals.userId = userId
  3. 然后使用我刚刚在app.get中设置的本地

(我需要这样做,因为我的视图中需要 userId,否则我需要运行 verifySessionCookie 函数 2 次才能获取我想避免的 userId)

javascript node.js express

0
推荐指数
1
解决办法
3685
查看次数

标签 统计

express ×1

javascript ×1

node.js ×1