2

appcache マニフェストにキャッシュするファイルを宣言するときに、動的な名前を持つファイルを含める方法はありますか?

Rails でコンパイルされているアセットなど。

assets/application-12315123213123151asd.js

この場合、私はこのようなことをしたいと思います。

MANIFEST

CACHE
/assets/*.js

また

MANIFEST

CACHE
/assets/application-*.js
4

2 に答える 2

2

長い間更新されていないように見える Rack-offline などの gem を使用する代わりに、独自の rake タスクを作成しました。

#encoding: utf-8
desc "Create html5 appcache manifest"
task :html5_manifest => :environment do
    File.open("public/offline.appcache", "w") do |f|
        f.write("CACHE MANIFEST\n")
        f.write("# #{Time.now.to_i}\n")
        assets = Dir.glob(File.join(Rails.root, 'public/assets/**/*'))
        assets.each do |file|
            if File.extname(file) != '.gz'
                f.write("assets/#{File.basename(file)}\n")
            end
        end
        # f.write("NETWORK\n")
        # f.write("*\n")
        # f.write("FALLBACK:\n")
        # f.write("...")
    end
end

サーバーにデプロイするときに、これをキャップファイルにタスクとして入れます

于 2013-07-30T08:55:09.907 に答える