如何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内容。
你基本上是指导客户:
- 阅读我的url列表
- 浏览每个url
- 下载响应并将其存储在安全的地方
- 请检查我的cache.manifest是否已更改,然后继续步骤1
因此,只要node.js生成的数据可以通过URL访问,那么在caching清单中将其定义为行就没有问题。
如果您担心“我怎么知道哪些URL存在”,您始终可以通过编程方式从node.js本身生成cache.manifest文件 – 但要记住要提供正确的内容types的text/cache-manifest