有没有办法在 compojure 中进行热重载?

Posted

技术标签:

【中文标题】有没有办法在 compojure 中进行热重载?【英文标题】:Is there a way to do a hot reload in compojure? 【发布时间】:2012-01-20 18:21:57 【问题描述】:

我是 clojure 和 compojure 的新手,我想知道是否有办法像使用 Ruby 的 Sinatra(使用 shotgun gem)或 Java 的 Play 那样对代码更改进行热重载!

我正在关注这个Heroku tutorial,所以如果有办法用工头宝石来做这件事也可以。

谢谢!

【问题讨论】:

我刚刚回答了一个类似的问题here。希望对你有帮助 【参考方案1】:

看看这个 SOq:

Compojure development without web server restarts

还有本教程:

http://mmcgrana.github.com/2010/03/clojure-web-development-ring.html

建议使用环的reload middleware。

【讨论】:

【参考方案2】:

Compojure 的最新版本通过将所有中间件合并到一个函数调用中使其变得更加容易:

https://github.com/weavejester/compojure/wiki/Getting-Started

特别是……

(require '[compojure.handler as handler])

; define my-routes in here as normal
(handler/site my-routes)

我在自己的项目中使用了其中的一些。它运行良好,但如果我决定需要添加或删除任何东西,我会直接切换回选择环中间件。

【讨论】:

以上是关于有没有办法在 compojure 中进行热重载?的主要内容,如果未能解决你的问题,请参考以下文章

停止调试会话后,有没有办法强制上次热重载的更改持续存在?

在 VueJS 中更改环境变量后,有没有办法热重载我的 Vue 页面?

在物理设备中运行时,Flutter 中的热重载不起作用

vscode中的颤动热重载按钮不起作用

热重载不会热重载

blazor 服务器端是不是有任何热重载?