3

私の MVC4 アプリケーションはScripts.Render、「functions.js」というファイルをロードしているバンドルをロードするために使用しています。

このアプリケーションをブラウザーでデバッグすると、スクリプトは読み込まれますが、バージョンが古くなっています。リソースを直接表示し?v=anytext、スクリプトを追加すると正しく見えますが、それを追加しないと、スクリプトは古いコードを表示します。古いファイルの代わりに正しいファイルを出力するようにバンドルを強制する方法はありますか?

4

1 に答える 1

3

これはおそらくキャッシュの問題です。バンドルと縮小をデバッグ モードで使用する場合 ( で<compilation debug="true" />が設定されている場合web.config)、バンドルと縮小は無効になります。

を追加することで、これをオーバーライドしてバンドルと縮小を強制できますBundleTable.EnableOptimizations = true;。これにより、すべてがバンドルされて縮小されている本番環境でのように動作し、スクリプト参照には、何かが変更されたときにブラウザーにスクリプトを強制的にリロードさせるバージョン管理パラメーター (指定したものなど) が含まれます。

public class BundleConfig
{
    public static void RegisterBundles(BundleCollection bundles)
    {
        //all your bundle code
        BundleTable.EnableOptimizations = true;
    }
}
于 2013-01-28T20:18:09.840 に答える