2

私はRails 3.2.6 + Backboneアプリに取り組んでおり、app/assets/javascriptsから提供されるJavascriptファイルの数は、約91個の個別のファイルです(多くのサブビューがあります)。開発環境では、これらのアセットはもちろんバンドルされていないため、Rails によって (WEBrick または Thin のいずれかを使用して) それぞれが個別に提供され、キャッシュされているため 304 Not Modified が予想されます。

問題は、開発の反復中にページ全体をリロードするのが非常に重くなり始めたことです。更新から DOM の準備が整うまでに約 13 秒かかります。これは、特に多くの JS と CSS が変更されている場合、迅速な開発には非常に悪いことです。そして、ターミナルで Rails のログを見ることができ、各アセットが次のように通過するのを見ることができるので、それが唯一の本当のボトルネックだと確信しています。

2012-11-12 15:39:25 -0800 で 127.0.0.1 の GET "/assets/views/simple_dialog.js?body=1" を開始しました アセット /views/simple_dialog.js を提供しました - 304 変更されていません (0ms)

とにかくこのプロセスをスピードアップする方法はありますか? 常にトレードオフがあることはわかっていますが、6 ~ 7 秒に短縮できたとしても、大幅な改善になります。Rails 4 で Sprockets が大幅に高速化されていることは知っていますが、短期的に何かを探しています。

4

1 に答える 1

0

おそらく、次のことを試してください。

  • config/environments/development.rb で設定しますconfig.assets.debug = false( http://guides.rubyonrails.org/asset_pipeline.html#turning-debugging-offを参照)。これにより、ファイルが 1 つの application.js ファイルに結合され、多数の個別の HTTP リクエストを必要としないため、読み込み時間が短縮されます。
  • rails-dev-tweaks gemを使ってみてください。アセット ファイルへのリクエストを高速化するのに役立ちます。

お役に立てれば!

于 2012-11-13T04:48:13.303 に答える