我在Chrome中使用SPA
时有一种非常奇怪的行为。我正在运行带有AngularJS
前端的本地IIS服务器。我正在使用Gulp
来缓存我所有的Javascript和CSS文件。最近我发现我的网站正在加载旧的HTML文件,这是由于角度为$templateCache
,因此我使用gulp-angular-templatecache
来解决此问题,但随后出现了一个新问题。
当我打开我的电脑,启动IIS服务器并通过在URL栏中输入localhost
来加载我的Chrome应用程序时,Chrome会从缓存中加载所有内容,因此我会获得旧的JS,CSS和HTML文件(我看到chrome正在加载一个旧的index.html
文件,但是如果我去了localhost/mainPage
这样的其他路径,它会加载我的所有新文件,一切都按预期工作。之后,如果我再次转到localhost
,旧网站将再次从缓存中加载!!
我不是专家,但这似乎是一种非常奇怪的行为。这是Chrome错误吗?我的AngularJS
SPA
在我的Web.config
中,我要禁用index.html
的缓存:
<!-- 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>
答案 0 :(得分:0)
有以下两种情况:
disable cache
选项。为此,打开Devtools(Chrome菜单&gt;更多工具..&gt; Devtools),转到网络标签,然后选中停用缓存