0

按照建议的步骤后

https://github.com/samestep/boot-refresh

从引导项目中使用 cider-jack-in 时,预期的热重载行为有效。

但是,在以下情况下它不起作用。考虑这个引导任务:

(deftask dev2 []
  (comp
   (serve 
    :handler 'app.core/handler
    :reload true
    :port 3000
    :httpkit true
    :nrepl {:port 4000})
 (watch) (refresh) ;; doesn't work with or without this line
))

相关部分是:nrepl关键字。

触发此任务后,可以在 4000 端口连接到 nrepl 服务器,其优点是可以在开发过程中访问应用程序的实际状态。(有关详细信息,请参阅此帖子)

这可以通过cider-connect. 然而,在那里热重载已经消失了。该:reload true选项可能会在这里混淆,这只会在 http 请求完成时触发源重新加载。但我正在寻找更通用的引导刷新方法。


注意:这里的目的是在服务器端进行实时重新加载行为,这类似于客户端已知的概念(figwheel 或 boot-reload)。

4

0 回答 0