2013-03-19 116 views
13

我在Chrome Dev 27上,在Dev Tools设置中选中禁用缓存。当我重新加载页面时,Chrome会正确地重新加载地图页面使用的所有资源,包括.js文件。但是,它不会自动重新加载相应的source maps.map。监控Chrome我的应用程序之间的HTTP流量,在后续页面加载时,我没有看到来自Chrome的任何关于.map文件的请求。我如何让Chrome也重新加载源地图?如何让Chrome重新加载源地图?

与Chrome中无法重装.map文件的问题是,它也不会重新加载从中产生.js的文件,该文件在我的情况正好是一个CoffeeScript的文件(.coffee),这意味着在调试时,在来源选项卡我正在查看旧版本的.coffee文件,即使新代码(来自.js)正在运行。

回答

21

我今天就有同样的问题。等待解决它是为了关闭源文件下的咖啡文件标签,进入网络标签页,右键单击并选择“清除浏览器缓存”

这为我解决了它。

也就是说,映射文件并不总是会在我的缓存中“卡住”......只是有时候,当他们这样做时,清除缓存技巧会修复它。

+0

这也适用于我。谢谢@Philip – Zander 2013-04-21 09:17:23

+0

当Chrome中没有刷新TypeScript文件(* .ts)时也可以使用。谢谢你。 – sboisse 2013-07-17 16:40:58

+2

是的..它似乎有时卡住...2年之后,TypeScript和VisualStudio也出现了同样的问题......这应该是答案,因为它有助于解决卡住的缓存问题 – ppumkin 2015-06-02 10:11:37

0

刚刚有同样的问题,并发现了一些额外的解决方案:

根据这一commit,这bug report铬,问题就解决了,不应该影响到未来建立一个。对于这个问题

一点点简单的解决方案不是清除整个浏览器缓存:

打开一个浏览器选项卡源地图,做一个硬重装(取决于OS,尝试CTRL + F5) 。这将刷新文件并保持浏览器缓存。

另一种方式,也许是一个好的做法是通过添加像?build=12345这样的参数来破解源地图生成。请参阅您的构建工具,了解如何操作源地图的文件名。

如果您有权访问服务器配置或.htaccess,则可以将标头Cache-Control: no-cache设置为源地图扩展名,如'.js.map'。

1

进入设置 - >显示高级设置 - >清除浏览数据 - >仅检查“缓存的图片和文件” - >点击“清除浏览数据”

这将清除源映射您在已缓存浏览器而不删除所有的cookies。

+0

讨厌失去我所有的历史! – madannes 2017-02-23 17:41:19

+0

上述情况如何失去@madannes的历史? – Arjan 2017-02-28 08:43:08

+0

对不起..应该已经更清楚了。我的意思是说,我喜欢这个答案更好,因为我不想失去所有*我的历史,因为会发生w /“清除浏览器缓存”。太糟糕了,我看不到如何编辑我以前的评论=) – madannes 2017-02-28 19:06:01

0

我解决了这个问题删除.map文件并执行硬重新加载(CTRL-F5)。

我不想失去我所有的历史!