关于我的 early question关于如何在 node.js 中添加 list 缓存,我现在的问题是如何缓存 node.js 生成的 HTML。由于我们没有像 php (index.php) 中那样的物理文件,我们无法缓存此类文件。
我们如何缓存“不存在”的页面?只需添加缓存:
CACHE MANIFEST
CACHE:
# plain files to cache
/javascripts/client.js
/stylesheets/style.css
/stylesheets/style.styl
# generated files like /
/
/content
知道如何解决这个问题吗?
谢谢!
解决方法:
添加路由器以返回具有正确 mime 类型的 cache.manifest 文件:
app.get("/offline.manifest", function(req, res){
res.header("Content-Type", "text/cache-manifest");
res.end("CACHE MANIFEST");
});
最佳答案
应缓存的缓存 list 列表 URL。访问这些 url 的客户端不知道这些是 Apache 之上的静态 html 文件还是由 node.js 或其他任何东西生成的动态内容。
你基本上是在指导客户:
- 阅读我的网址列表
- 遍历每个 url
- 下载响应并将其存储在安全的地方
- 检查我的 cache.manifest 是否已更改,然后继续执行第 1 步
因此,只要 node.js 生成的数据可通过 URL 访问,将其定义为缓存 list 中的一行就没有问题。
如果您担心“我怎么知道有哪些 url”,您始终可以从 node.js 本身以编程方式生成 cache.manifest 文件——但请记住提供正确的内容类型 text/cache - list
关于node.js - 如何使用 list Node.js 站点进行缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9092253/