в автономном режиме в Синатре - PullRequest
2 голосов
/ 31 марта 2011

Я пытаюсь настроить автономный режим в Sinatra, но у меня возникают проблемы с его настройкой. В рельсах это довольно просто, но в Синатре не найдено ни одного примера ...

1 Ответ

1 голос
/ 02 апреля 2011

По сути, в вашем config.ru отображается /application.manifest на Rack::Offline. (Если вы не знакомы с использованием config.ru с приложением Sinatra, ознакомьтесь с этой частью документации Sinatra .) Вот пример, который кэширует все файлы в каталоге 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, и вы должны быть в порядке. Вам следует взглянуть на README rack-offline для получения дополнительной документации и объяснения того, как она работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...