关于我的如何在node.js中添加 list 缓存的early question,我的问题现在与如何缓存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");
});

Found at stackoverflow

最佳答案

应该缓存的缓存 list 列表URL。访问这些URL的客户端不知道这些是Apache之上的静态html文件还是node.js生成的动态内容或其他内容。

您基本上是在指导客户:

  • 阅读我的网址列表
  • 遍历每个URL
  • 下载响应并将其存储在安全的地方
  • 重新检查我的cache.manifest是否已更改,然后继续执行步骤1

  • 因此,只要通过URL可访问node.js生成的数据,就可以将其定义为缓存 list 中的一行是没有问题的。

    而且,如果您担心“我怎么知道那里有哪些网址”,则始终可以从node.js自身以编程方式生成cache.manifest文件,但请记住提供正确的内容类型text/cache-manifest

    关于node.js - 如何使用 list Node.js网站进行缓存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9092253/

    10-16 20:49