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



关于我早期如何在node.js中添加清单缓存的问题,我现在的问题是如何缓存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");
});

在stackoverflow 处发现

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

你基本上是在指导客户:

  1. 阅读我的URL列表
  2. 浏览每个url
  3. 下载响应并将其存储在安全的地方
  4. 检查我的cache.manifest是否已更改,然后继续执行步骤1

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

如果您担心"我怎么知道有哪些URL",您可以始终从node.js本身以编程方式生成cache.manifest文件,但请记住提供正确的内容类型text/cache-manifest

相关内容

  • 没有找到相关文章

最新更新