我正在创建一个node.js单页应用。如果用户通过身份验证,我想在主页中显示特定视图。为此,我创建了一个函数来检查用户是否是auth。它工作正常。
但是,当我想要返回特定视图时,我遇到了一些问题。
我尝试了一些不同的方法,但我无法返回任何视图。
视图
const notAuth = require('../view1')
const isAuth = require('../view2')
这是我的第一次尝试:
const home = function (ctx) {
if (ctx.auth) {
return isAuth
} else {
return notAuth
}
}
module.exports = home
然后,我尝试仅使用module.exports
:
module.exports = function home (ctx, next) {
if (ctx.auth) {
return isAuth
} else {
return notAuth
}
next()
}
最后,我尝试了这个:
const authenticated = function (ctx) {
if (ctx.auth) {
return isAuth
} else {
return notAuth
}
}
module.exports = function home (ctx, next) {
return authenticated(ctx)
next()
}
注意:
如果我使用的话,我在特定视图中使用的每个模块都可以正常工作:
module.exports = notAuth
如何在函数中返回特定的导入模块?
答案 0 :(得分:2)
也许您需要将上下文实际传递到目标路径
const home = function (ctx, next) {
if (ctx.auth) {
return isAuth(ctx, next)
} else {
return notAuth(ctx, next)
}
}