0

JavaScript と CSS のバンドルを使用する場合、Web アプリケーションはバンドルをキャッシュし、次のようなキャッシュ キーを使用していることを理解しています。

<script src="/bundles/sampleJs?v=h-HGvCLcx-0T1kG3DBKIVBtGxEhtfpONQl5b_7BQuSo1"></script>

キャッシュされたバンドル (または 1 つのバンドルのみ) をプログラムで更新するにはどうすればよいですか?

たとえば、新しい CSS 更新をアップロードする必要がある場合、Web アプリケーション全体を再起動せずにバンドルを更新したい...

4

1 に答える 1

0

この問題に対処するには、次の 2 つの方法があります。

ASP.NET:

ASP.NET などのサーバー側で html ページが生成される場合、すべてのリソースに追加される静的グローバルを Global.asax に定義するだけです。

<script src="/bundles/sampleJs?cacheBustVersion=" + <%= @cacheBustVersion %> ></script>

RequireJS:

Javascript では、RequireJS を使用している場合、requirejs 構成セクションで urlArgs という変数を作成できます。

urlArgs: "cacheBustVersion=v1"

これにより、require 呼び出しによってロードされた各ファイルに「&cacheBustVersion=v1」が追加されます。

開発中の RequireJS:

urlArgs: "cacheBustVersion=" Date.now()

これにより、requireJS を介してロードされたすべてのファイルがキャッシュされなくなります。

urlArgs の RequireJS ドキュメント

于 2015-01-01T04:27:21.063 に答える