2

我正在尝试在 Sinatra 中设置脱机机架,但设置时遇到问题。在 Rails 中这很容易,但在 Sinatra 中没有找到任何示例......

4

1 回答 1

1

基本上,在您的config.ru, 映射/application.manifestRack::Offline. (如果您不熟悉使用config.ruSinatra 应用程序,请查看Sinatra 文档的这一部分。)这是一个示例,它缓存了 directory 下的所有文件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 的 README以获得更多文档和它如何工作的解释。

于 2011-04-02T07:48:17.133 回答