如何使用清单Node.js站点进行缓存

时间:2012-02-01 07:21:04

标签: node.js cache-manifest

关于如何在node.js中添加清单缓存的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-type返回cache.manifest文件:

app.get("/offline.manifest", function(req, res){
  res.header("Content-Type", "text/cache-manifest");
  res.end("CACHE MANIFEST");
});

Found at stackoverflow

1 个答案:

答案 0 :(得分:3)

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

您基本上是在指导客户:

  1. 阅读我的网址列表
  2. 浏览每个网址
  3. 下载回复并将其保存在安全的地方
  4. 检查我的cache.manifest是否已更改,然后继续执行步骤1
  5. 因此,只要您通过URL可以访问node.js生成的数据,就可以将其定义为缓存清单中的一行。

    如果您担心“我将如何知道哪些网址”,您可以始终以编程方式从node.js本身生成cache.manifest文件 - 但请记住提供正确的内容类型text/cache-manifest < / p>