【问题标题】:rack-offline in sinatra在 sinatra 中脱机
【发布时间】:2011-03-30 20:45:35
【问题描述】:

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

【问题讨论】:

    标签: ruby sinatra offline-caching


    【解决方案1】:

    基本上,在您的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
    

    记得在你的html 标签中设置manifest="/application.manifest",你应该很高兴。您应该查看 rack-offline's README 以获取更多文档和有关其工作原理的说明。

    【讨论】:

      猜你喜欢
      • 2011-07-06
      • 1970-01-01
      • 1970-01-01
      • 2011-02-23
      • 1970-01-01
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多