一尘不染

Node.js服务器中没有缓存

node.js

我读过,为避免在nodejs中缓存,必须使用:

"res.header('Cache-Control', 'no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0');"

但是我不知道如何使用它,因为当我在代码中添加该行时会出错。

我的功能(我认为我必须不编程缓存)是:

function getFile(localPath, mimeType, res) {
        fs.readFile(localPath, function(err, contents) {
                if (!err) {
                    res.writeHead(200, {
                    "Content-Type": mimeType,
                    "Content-Length": contents.length,
                'Accept-Ranges': 'bytes',
                    });
                //res.header('Cache-Control', 'no-cache');
                    res.end(contents);
                } else {
                    res.writeHead(500);
                    res.end();
                }
        });

}

有人知道如何在我的代码中不放置任何缓存吗?谢谢


阅读 248

收藏
2020-07-07

共1个答案

一尘不染

您已经编写了标题。我认为您完成此操作后无法添加更多内容,因此只需将标题放在第一个对象中即可。

res.writeHead(200, {
  'Content-Type': mimeType,
  'Content-Length': contents.length,
  'Accept-Ranges': 'bytes',
  'Cache-Control': 'no-cache'
});
2020-07-07