首次进入网站之前有没有办法设置Cookie?现在我在每个get操作开始时添加了这段代码:
if(!req.cookies.lang) {
res.cookie('lang', 'en');
res.redirect('back');
}
有没有更好的解决方案,所以在每次获取开始时都不需要添加此代码?
答案 0 :(得分:1)
为避免代码重复,您可以添加一个中间件来处理每个GET
的内容。
app.get('*', (req, res, next) => {
if (!req.cookies.lang) {
res.cookie('lang', 'en');
return res.redirect('back');
}
next();
});
/* get routes */
app.get('/some/route', (req, res) => {
// No need to check cookie, it was checked by the other middleware
// ...
});
/* ... */