我浏览了网络上的各种帖子;但看起来它只适用于静态 .html 文件。Mephisto 和 rack-offline 看起来很有用,但我不知道它们是否可以帮助处理 sinatra 模板。
我的 views/index.erb 有 3 个 get do's - /part1、/part2、/part3 保存 html 输出;如果可以将它们缓存以供离线使用,那就太好了。任何指针?
我浏览了网络上的各种帖子;但看起来它只适用于静态 .html 文件。Mephisto 和 rack-offline 看起来很有用,但我不知道它们是否可以帮助处理 sinatra 模板。
我的 views/index.erb 有 3 个 get do's - /part1、/part2、/part3 保存 html 输出;如果可以将它们缓存以供离线使用,那就太好了。任何指针?
我会尽力回答你的问题。我猜“我的视图/index.erb 有 3 个 get do's”,你的意思是你的应用程序中有三个路由,分别/part1
是 、/part2
和/part3
。这三个路由使用 ERB 模板处理并返回 HTML。现在您想将它们放入缓存清单以供离线使用。
首先:对于客户端来说,URL后面的资源是动态生成的还是静态文件都没有关系。您可以将part1
(注意缺少的斜线)放入清单中并完成。
效果是客户端/part1
只请求一次,然后使用缓存版本,直到您更新清单。
这里有一个问题:如果您处理 ERB 模板,您显然在响应中有一些动态的东西。这就是为什么我不明白你为什么要缓存响应。
不要误会我的意思:你想这样做可能有很好的理由。而且我看不出有什么理由不能将动态资源的路由放入缓存清单中。