我试图在西纳特拉设置机架离线,但设置时遇到问题在rails中这很简单,但是在Sinatra中没有发现任何例子。。。
最佳答案
基本上,在config.ru
中,将/application.manifest
映射到Rack::Offline
。(如果您不熟悉如何在Sinatra应用程序中使用config.ru
,请查看this part of Sinatra docs)下面是一个示例,它将缓存目录public
下的所有文件:
require 'your-app'
require 'rack/offline'
map "/application.manifest" do
offline = Rack::Offline.new :cache => true, :root => "public" do
# Cache all files under the directory public
Dir[File.join(settings.public, "**/*")].each do |file|
cache file.sub(File.join(settings.public, ""), "")
end
# All other files should be downloaded
network '/'
end
run offline
end
map "/" do
run Sinatra::Application
end
记住在
manifest="/application.manifest"
标记中设置html
,您应该可以很好地开始。您应该查看rack-offline's README以获取有关其工作原理的更多文档和说明。