我不是服务器端渲染的忠实拥护者,也就是说,我不喜欢使用模板引擎等。我宁愿让客户端控制显示,而服务器只提供静态文件和数据。
我已将我的主页设计为单页应用程序。首次加载时,会向用户显示一个登录表单,其他所有内容都被隐藏。如果他们成功登录,它将隐藏登录名并显示应用程序的其余部分。现在,我已经实现了cookie,因此它们只需要登录一次。问题是,我无法想到让客户在显示登录表单之前就知道已登录的方法。
当客户端请求/
时,我这样做:
router.get('/', function (req, res, next) {
if(req.cookies.token){
app.locals.userManager.loginUserWithToken(req.cookies.token, req.ip, req.headers['user-agent'])
}
res.sendFile(path.join(__dirname + './../public/index.html'));
});
如何告知浏览器用户已登录并且无需显示登录表单?我可以发送一些预数据和响应吗?我想不是因为我只是发送文件。
最佳答案
您可以在响应中包含第二个cookie,SPA中的代码可以用来决定是否显示登录信息。
关于javascript - Node JS + Express-使用数据提供静态文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53240649/