如何caching清单Node.js网站

关于如何在node.js中添加清单caching的问题,现在我的问题与如何caching由node.js生成的HTML有关。 因为我们没有像php(index.php)这样的物理文件,所以我们不能caching这样的文件。

我们如何caching“不存在”页面? 只需添加caching:

CACHE MANIFEST CACHE: # plain files to cache /javascripts/client.js /stylesheets/style.css /stylesheets/style.styl # generated files like / / /content 

任何想法如何解决这个问题?

谢谢!

解:

添加路由器以返回正确的MIMEtypes的cache.manifest文件:

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

发现在stackoverflow

caching清单列出应该被caching的URL。 访问这些URL的客户端不知道这些是在Apache之上的静态HTML文件,还是由node.js或其他任何东西生成的dynamic内容。

你基本上是指导客户:

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

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

如果您担心“我怎么知道哪些URL存在”,您始终可以通过编程方式从node.js本身生成cache.manifest文件 – 但要记住要提供正确的内容types的text/cache-manifest