如何在文件更改时重新加载环形服务器?

dch*_*cke 1 clojure ring

每当文件更改时,您如何在开发过程中重新加载环形服务器?

dch*_*cke 5

将此依赖项添加到您的 project.clj:

[ring/ring-devel "1.8.0"]
Run Code Online (Sandbox Code Playgroud)

您可以从Clojars获取最新版本号。

然后在请求处理程序所在的文件中要求以下内容:

(:require [ring.middleware.reload :refer [wrap-reload]])
Run Code Online (Sandbox Code Playgroud)

包装您的处理程序:

(wrap-reload handler)
Run Code Online (Sandbox Code Playgroud)

来自使用多个包装器的服务器的示例:

(def handler
  (compojure/routes
    (GET "/" [] "hello world")
    (route/not-found "No such page.")))

(defn -main []
  (server/run-server
    (-> handler
      params/wrap-params
      wrap-reload)
    {:port 8080}))
Run Code Online (Sandbox Code Playgroud)

你可以找到重装中间件的文件在这里,以及如何使用它的另一个例子在这里