Chromeで私のSPA
で本当に奇妙な動作をしています。私はAngularJS
フロントエンドを持つローカルIISサーバーを実行しています。私はGulp
を使用して、すべてのJavascriptファイルとCSSファイルをバストキャッシュしています。最近、自分のサイトに古いHTMLファイルがロードされていたことが判明しました。これは角度$templateCache
に起因していますので、これを解決するためにgulp-angular-templatecache
を使用しましたが、新しい問題が発生しました。Chromeは、更新ボタンを押すまで古いページをキャッシュし続けます。
URLバーにlocalhost
と入力して、IISサーバーを起動してChromeでアプリケーションを読み込むと、Chromeはキャッシュからすべてを読み込み、古いJS、CSS、HTMLファイルを取得します古いindex.html
ファイルをロードしていますが)localhost/mainPage
のような他のルートに移動すると、すべての新しいファイルがロードされ、すべてが意図どおりに機能します。その後、再びlocalhost
に行くと、古いサイトが再びキャッシュから読み込まれます!
私は専門家ではありませんが、非常に奇妙な動作のようです。これはChromeのバグですか?それは私の中のクロムの欠陥か何かですか?AngularJS
SPA
?
index.html
のキャッシュを無効にするには、この持っている私の
Web.config
で
:
<!-- Disable index.html cache -->
<location path="index.html">
<system.webServer>
<staticContent>
<clientCache cacheControlMode="DisableCache" />
</staticContent>
</system.webServer>
</location>
そして、この他のすべてのファイルのキャッシュ時間を最大化するために:
<system.webServer>
<staticContent>
<!-- Cache busting for 1 year (max recommended value) -->
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" />
</staticContent>
</system.webServer>
すでに各ファイルにハッシュが追加されています(キャッシュバスト)。古いhtmlファイルを取得し続ける – Andres