4

最近、アセット パイプラインを使用するように Rails 3.2 プロジェクトを変換しました。私たちのアプリは多くのアセット ファイルを使用します (最大 250 個の *.js.coffee ファイル、さらに 200 個ほどの *.jst.hamljs テンプレート、および最大 100 個の *.css.sass スタイルシート)。ご想像のとおり、これらは本番環境でははるかに少数のアセット ファイルにパッケージ化されています。

開発環境とテスト環境では、個々のアセットを再コンパイルしてリクエストする際に、頻繁なタイムアウトと遅いページ読み込みに対処します。自動再コンパイルを可能にするより良いワークフローはありますか?

開発中の設定を除いて、デフォルトの環境設定で実行していますdebugfalse

config.assets.debug = false

これにより、開発中にページをリロードするときに何百ものリクエストを節約できますが、最初のコンパイルでは依然としてタイムアウトが発生します。もっと良い方法があるはずですよね?

4

2 に答える 2

1

いくつかのオプション:

  • を使用して要求されたときに再コンパイルする必要があるものを制限しますrequire_asset。この質問とスプロケット#90を参照してください。

  • プリコンパイル アセット:

    $ RAILS_ENV=development bundle exec rake assets:precompile
    
  • タイムアウトを増やします。これは、セットアップ方法に依存し、面倒で問題が発生する可能性があります。たとえば、Heroku は長いリクエストの大ファンではありません。

  • より高速なインタープリターを使用してください。

  • ハードウェア/VM の高速化。

于 2013-02-18T22:38:33.640 に答える
0

開発中のアセットを事前にコンパイルしていますか?

bundle exec rake assets:precompile

これにより、アセットが毎回再コンパイルされるのを防ぐことができます。

于 2013-02-18T22:22:49.780 に答える