Chrome开发工具缓存旧版本的JavaScript文件

Chrome Developer Tools caches old version of JavaScript files

本文关键字:JavaScript 文件 版本 开发工具 缓存 Chrome      更新时间:2023-09-26

我遇到了一个奇怪的间歇性问题,Chrome Developer工具挂在旧版本的JavaScript文件上。我将开发一些JS应用程序,只要找到就可以了,然后我的JavaScript文件就会突然从"源代码"选项卡上的JavaScript文件列表中消失。这是我发现问题的第一条线索。

我最终发现,Chrome开发工具显然是在保留旧版本的JavaScript文件。Chrome本身正在从服务器请求并执行最新版本,但您无法调试JavaScript文件。

我通过获取一个从我的源列表中消失的特定JavaScript文件,并用一行console.log语句替换它,向自己"证明"了这就是正在发生的事情。

然后我重新加载了页面,并注意到console.log语句出现在JavaScript控制台中。我在"网络"选项卡中还注意到,JavaScript文件已成功检索,并且通过连线得到的内容仅包含一行console.log语句。

然而,JavaScript文件仍然没有出现在源列表中,如果我在控制台中单击文件名(它出现在控制台右侧,记录的语句旁边(,然后我跳到源选项卡,就会打开旧版本的JavaScript文件。

这个JavaScript文件是通过一个常规的<script>标签加载到页面上的。它不是通过另一个脚本或eval动态加载的。只是一个普通的、普通的<script>标记,它指向Web服务器上的.js文件。

我试过:

  1. 确保在DevTools设置中选中"禁用缓存(当DevTools打开时(">
  2. 手动清除我在Chrome中的缓存和cookie
  3. 重新启动Chrome
  4. 在单独的Chrome选项卡中手动加载JavaScript文件
  5. 禁用我安装的每个Chrome扩展/应用程序
  6. 以隐身模式运行页面
  7. 取消选中"启用JavaScript源映射"answers"启用CSS源映射">

这些都没有改变行为。如果你不相信我的话,你可以在这里看一段演示这一点的视频!

我确实认为这是Chrome的问题,因为我可以在没有这个问题的情况下使用Firefox。。。但我真的很喜欢Chrome和Chrome的开发工具:-(所以我想让它在Chrome中运行。。。

更新我在这里报告了这是一个Chrome错误。如果这个错误正在影响你,或者对你很重要,请投票支持和/或添加带有其他信息的评论。

Chrome DevTools对我来说很好。当我为页面加载它时,它会在Chrome进程的使用寿命之外记住我打开的源;尽管顺序不对。我在我们的devtools prefs中看到了两个区别:禁用缓存和启用映射。所以我建议:

1( 取消选中禁用缓存(当DevTools打开时(,2( (如果1不起作用(按下"恢复默认值并重新加载"按钮。

问题在78.0.3904.97中仍然存在。要修复此问题,请运行设置>高级>重置。

一些代码编辑器,如rubymine缓存js文件。

要解决rubymine:文件>使缓存无效/重新启动

此处建议https://groups.google.com/d/msg/google-chrome-developer-tools/2rolf--fJ3M/UTJQaZN3K28J,对于开发环境,我在提供源地图时添加了这些标题:

Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0

它似乎完成了任务(至少目前如此(。