其实 "public "文件夹的缓存控制是由.NET Framework 2.0固定的。
app.use(express.static(__dirname + '/public', { maxAge: 31557600000 }));
我想在用户未认证或会话过期时将maxAge重置为0。
有什么方法可以做到吗?
我想你可以这样做,希望这对你有用
if(user === authenticated){
app.use('/public/images/icons', static('public/images/icons', 12345));
app.use('/public/images/', static('public/images', 1234567);
etc.
}
//function declaration
function static(dirname, age) {
return express.static(path.join(__dirname, dirname), { maxAge: age });
}
已解决。
关于我原来的要求。
function userConnect(req, res){
...
res.setHeader('Clear-Site-Data', '"cache", "storage"');
....
但是现在,我用的是.NET技术。
const serverStarted = moment().unix();
....
app.get("*",function(req, res, next){
if (req.session&&req.session.serverStarted!=serverStarted) {
res.setHeader('Clear-Site-Data', '"cache", "storage"');
req.session.serverStarted = serverStarted;
}
next();
})