javascript - Node.js Express 强制客户端跳过缓存(刷新)

标签 javascript node.js express caching

我正在node.js/express中发送一个文件,如下所示:

res.header("Content-Type", mime.lookup(file));
res.sendFile(file);

在服务器端,我可以检测该文件是否已更改,并且我想强制客户端仅在这种情况下跳过缓存。

类似于:

res.header("Content-Type", mime.lookup(file));
if (fileHasChanged(file))
  res.header("some-header-telling-client-to-skip-cache", "some-value");
res.sendFile(file);

我怎样才能做到这一点?

最佳答案

看起来,您需要向 sendFile() 选项添加 'Cache-Control': 'no-cache' :

const options = {
  headers: {
    'Cache-Control': 'no-cache',
  }
};

res.sendFile(file, options, (err) => {
  if (err) {
    next(err);
  } else {
    // Success
  }
});

关于javascript - Node.js Express 强制客户端跳过缓存(刷新),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44783890/

相关文章:

javascript - 对本地文件系统的 AJAX 请求在 Chrome 中不起作用?

javascript - 如何在express js中的中间件之后渲染不在公共(public)或查看文件夹中的静态文件

javascript - 如何正确地在node.js中使数据库流动

javascript - 将 javascript 变量的值附加到不带脚本的标签

javascript - Backbone.js Collection View 通过模型 View

javascript - 拉维尔 4 : How would you integrate user definable templates?

node.js - Nodejs Express router.get ('/' ) 在 users.js 中

javascript - Dropping Collection后,保存第一条记录时重新创建了Collection,但为什么它的索引没有?

Node.JS 和 Express : get application host without request

node.js - 尝试为 REST API 制定 Mongoose 关系编码