Ran*_*lue 3 javascript node.js express
我使用Express.JS来提供静态内容:
express.use(express.static('./../'));
Run Code Online (Sandbox Code Playgroud)
何时index.html送达,我想在响应旁发送一个cookie,表明用户是否已登录.通常应该使用res.cookie()但我无法看到如何将它用于静态服务的内容.
不确定为什么需要这样做,但您可以在static模块之前放置自己的中间件.
以下快速入侵应该有效:
function attach_cookie(url, cookie, value) {
return function(req, res, next) {
if (req.url == url) {
res.cookie(cookie, value);
}
next();
}
}
app.configure(function(){
app.use(attach_cookie('/index.html', 'mycookie', 'value'));
app.use(express.static(path.join(__dirname, 'public')));
});
Run Code Online (Sandbox Code Playgroud)
以上在中间件之前插入static中间件链中的另一个功能用于中间件.如果URL与您要查找的特定URL匹配,则新层会将cookie附加到响应中 - 并将响应进一步传递到链中.
| 归档时间: |
|
| 查看次数: |
1672 次 |
| 最近记录: |