【发布时间】:2015-07-14 04:49:22
【问题描述】:
工具:JetBrains 的 Webstorm 10.0.4 - 全新安装,没有插件。 Chrome 版本 43。该项目是 vanilla html、css 和 js。
问题:在本地调试时,文件有时会在使用内置 Web 服务器时缓存(我单击运行并打开 Chrome 到具有以下形式的 URL:“http://localhost:[Port]/[ProjectName]/index.html”)。按 f5 将显示缓存版本,但 cntl-f5 将获取当前版本。
详情:请求头包含“Cache-Control:max-age=0”(无意义?)。使用“file:///C:/Users/[Username]/WebstormProjects/WebLayout/index.html”在 Chrome 中打开文件似乎没有这个问题,但是 web 服务器版本上的 f5 仍然会产生缓存版本.
尝试:
- 编辑运行/调试配置。我没有看到任何与我要查找的内容相关的内容。
- 我尝试查找 Web 服务器设置以手动设置响应标头。 “文件”>“设置”>>“构建执行部署”>“部署”没有配置服务器。我认为这是用于远程推送。
推测:Chrome 正在缓存 Webstorm 的网络服务器文件,因为它没有设置“无缓存”响应标头。我找不到在哪里/如何设置这些选项。
当前修复:
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
示例标题: 一般:
Remote Address:127.0.0.1:9129
Request URL:http://localhost:9129/WebLayout/index.html
Request Method:GET
Status Code:200 OK
响应标头:
cache-control:private, must-revalidate
content-length:5674
Content-Type:text/html
date:Mon, 13 Jul 2015 20:43:19 GMT
last-modified:Mon, 13 Jul 2015 01:45:23 GMT
server:WebStorm 10.0.4
请求标头:
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8,en-GB;q=0.6
Cache-Control:no-cache
Connection:keep-alive
DNT:1
Host:localhost:9129
Pragma:no-cache
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) ... Chrome/43.0.2357.132 Safari/537.36
【问题讨论】:
-
我也有同样的问题。 WebStorm 的服务器一直响应我已经修改过的旧版本的 JS 文件。清除缓存没有帮助。我什至从文件系统中删除了文件,但 WebStorm 仍然像什么都没发生一样继续响应。
-
我的问题出在浏览器上。您是否在网络风暴服务器运行时编辑文件?
-
也许,不确定,但我什至试图清除 WebStorm 的服务器缓存(它也使 WebStorm 重新启动) - 没有帮助。目前我发现的唯一修复方法是将文件重命名为其他名称,然后重命名。
-
所以你试过清除浏览器的缓存,服务器的缓存,重启网络服务器?你在窗户上吗?
-
您是否尝试过在您的 JS URL 中添加不必要的查询字符串? "//localhost/folder/myfile.js?t=1"
标签: google-chrome caching webserver webstorm