【发布时间】:2017-12-26 12:43:57
【问题描述】:
当 Fighweel 的热代码重新加载没有重新加载它必须重新加载的所有内容时,我遇到了几个问题,即使它不再在源代码中,即使我重新运行 @987654321,旧状态/代码仍然存在@。
清除所有浏览器缓存、所有无花果缓存和所有缓存的最简单方法是什么,我可能甚至不知道,以确保没有剩余旧版代码?
【问题讨论】:
标签: clojurescript leiningen figwheel
当 Fighweel 的热代码重新加载没有重新加载它必须重新加载的所有内容时,我遇到了几个问题,即使它不再在源代码中,即使我重新运行 @987654321,旧状态/代码仍然存在@。
清除所有浏览器缓存、所有无花果缓存和所有缓存的最简单方法是什么,我可能甚至不知道,以确保没有剩余旧版代码?
【问题讨论】:
标签: clojurescript leiningen figwheel
更新 2:我注意到更多缓存问题,因此我创建了 bhauman/lein-figwheel#667,希望一劳永逸地解决它们。这些更改应在 Figwheel 0.5.16 中发布。我还写了更多关于how to serve ClojureScript files in development的文章。
更新: bhauman/lein-figwheel#586 已被合并,它设置了正确的缓存标头以避免使用过时的文件。使用 lein-figwheel 0.5.12 或更高版本时,您应该不会再看到陈旧文件的任何问题。
在 macOS 上的 Chrome 中,Command+Shift+R 会进行硬重新加载,或者您可以长按重新加载按钮以获取清除缓存的选项。确保您已打开 Chrome 开发工具,否则您将无法获得这些选项。
附带说明,我认为您看到的缓存行为可能已由 bhauman/lein-figwheel#464 修复。
【讨论】:
在 Chrome 中 Cntl-F5 应该重新加载页面,这通常需要完成。最好将浏览器设置为在控制台打开时不使用缓存,并且始终在控制台打开的情况下进行开发。看到这个答案:Disabling Chrome cache for website development。
当命令行中的事情真的很困惑时,请转到lein clean。你不应该经常这样做。究竟什么被清理(从磁盘中删除)取决于 project.clj 中的密钥 :clean-targets 的内容。
【讨论】: