gpt4 book ai didi

node.js - Express JS - 想要缓存静态资源但不渲染 HTML

转载 作者:太空宇宙 更新时间:2023-11-04 02:47:02 25 4
gpt4 key购买 nike

我正在开发一个动态应用程序,我们不想缓存 HTML(即购物车内容可以从一个页面刷新更改为下一个页面刷新)。为此,我调用设置缓存控制 header 的中间件以避免缓存。然而,所述缓存控制 header 在获取静态资源时也适用。出于明显的性能原因,这是不受欢迎的行为。我们想要缓存静态资源。我的问题是...有没有办法为静态资源与渲染的 html 设置差异响应 header ?我尝试将 setHeaders 选项传递给 express.static 中间件,但线程挂起,大概是因为我们尝试两次设置相同的响应 header 。非常感谢任何帮助!

编辑:添加环境信息 -

我使用的是 Express 4 和 Node 4.4

编辑:添加示例代码。这是 app.js 中的相关部分,它积极避免在浏览器中缓存 HTML。

app.use(express.static(config.static.public));

// ...Stuff

app.use(function (req, res, next) {

// Don't cache html
res.set('Cache-Control', 'no-cache, private, no-store, must-revalidate, '
+ 'max-stale=0, post-check=0, pre-check=0');
res.set('Expires', 'Fri, 31 Dec 1998 12:00:00 GMT');
next();

});

最佳答案

app.use(express.static("static", {maxage : 0})) more info

也许在测试之前清除浏览器中所有准备好的缓存文件。

关于node.js - Express JS - 想要缓存静态资源但不渲染 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36295779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com