Ring / Jetty中的自动代码重新加载

5
使用Clojure的Ring / Jetty时,当我对代码进行任何更改时,都必须重新加载整个JVM。
有没有办法让Jetty异步地处理我的代码更改,这样我就可以简单地刷新浏览器窗口并立即获得更改呢?
具体而言,我正在使用Hiccup进行HTML解析,主要是在布局方面进行更改。
如果布局更改可以自动编译并在刷新时在浏览器中可用,那将大大节省时间。
有没有人了解这方面的信息? 有解决方案吗?
2个回答

8

您可能想要查看 lein-ring,特别是:auto-reload?:auto-refresh?选项。


7
作为 Ring 中自动重新加载功能的替代方案,如果您正在使用支持 repl 的开发系统(例如 Emacs + nrepl 或 Counterclockwise),您可以直接从编辑器中将特定定义或文件重新评估到运行中的系统中。在我看来,这比保存和(自动)重新加载要好得多。我使用的是 emacs/nrepl.el,从未使用过自动重新加载功能。

4
+1 - 确保以不缓存被修改的函数的方式编写处理程序,然后可以从REPL启动嵌入式Jetty,在重新评估时立即看到更改的效果,甚至无需重新启动服务器。第一次尝试时几乎感觉像魔术一样。 :) - Alex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接