4

したがって、SprocketsアセットパイプラインでRails3.1-rc1を試してみるだけです。

走るrake assets:precompile

/ public/assetsディレクトリとapplication.jsファイルにMD5ハッシュを取得します。

application-266b6b0b4fbd28fc01145d90a4158b2f.js

しかし、問題はこれです:

JSを更新して実行するrake assets:precompileと、より多くのJSファイルが取得され、古いファイルは削除されません。

私はそれがどのように機能するかを確信しています-ブラウザは最初のものだけをピックアップし、古いものを手動で削除する必要があります。それがどのように機能するかとは思えません。

ちょっとした不満:rake assets:precompile何かを変えるたびに走らなければならないようです。痛いです。

(これがどのように機能するかについては、いくつかのドキュメントが必要だと思います)。

ありがとう。

4

1 に答える 1

4

jsファイルの名前は<filename>-<hash>.jsです。

これは、新しいバージョンのアプリケーションを本番サーバーにデプロイするときに、訪問者が新しいjsファイルもロードする必要があるようにするためです。ハッシュは、今日のWebの動的な性質を考慮して、アプリケーション全体を壊す可能性のある新しいアプリケーションと古いキャッシュされたjsを混同しないようにします。

ほとんどのデプロイシナリオでは、サーバーの新しいディレクトリにアプリがあり、そこに古いコンパイル済みのjsファイルはありません。

于 2011-05-22T12:30:54.340 に答える