【问题标题】:Webstorm's build-in web server file caching settings?Webstorm 的内置 web 服务器文件缓存设置?
【发布时间】: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 仍然会产生缓存版本.

尝试

  1. 编辑运行/调试配置。我没有看到任何与我要查找的内容相关的内容。
  2. 我尝试查找 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


【解决方案1】:

WebStorm 内置服务器发送 1)缓存控制:“私有,必须重新验证” 2) last-modified:文件最后修改时间。

我看到两个可能的原因: 1) WebStorm 发送的最后修改文件不正确(我们使用虚拟文件系统)。 index.html 是在 WebStorm 内部还是外部编辑? 2)也许是谷歌浏览器的错误。在这种情况下,我们可以添加选项来禁用“如果修改后”支持并始终发送“过期:0”。

能否请您检查网络标头?

【讨论】:

  • 我只用WebStorm编辑。我在帖子中添加了示例标题。运行配置说它是 Javascript 调试选项。我怀疑它是铬。有什么想法可以更改内置网络服务器的设置吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-29
  • 1970-01-01
  • 1970-01-01
  • 2014-10-03
相关资源
最近更新 更多