Clojure:在html文件更改时刷新正在运行的web应用程序
我已经用lein ring设置了我的项目,以允许重新加载热代码。当我在应用程序运行时更改任何.clj文件时,它确实起作用 如何使任何html、css和js文件中的更改都相同。(位于资源/公共…) 以下是我的project.clj设置:Clojure:在html文件更改时刷新正在运行的web应用程序,clojure,leiningen,ring,Clojure,Leiningen,Ring,我已经用lein ring设置了我的项目,以允许重新加载热代码。当我在应用程序运行时更改任何.clj文件时,它确实起作用 如何使任何html、css和js文件中的更改都相同。(位于资源/公共…) 以下是我的project.clj设置: (defproject ... :plugins [[lein-cljsbuild "1.0.4"] [lein-ring "0.9.2"]] :ring {:handler votepourca.server/hand
(defproject ...
:plugins [[lein-cljsbuild "1.0.4"]
[lein-ring "0.9.2"]]
:ring {:handler votepourca.server/handler
:auto-reload? true
:auto-refresh? true}
:resource-paths ["resources" "markup"]
:source-paths ["src/clj"]
...)
编辑:
我正在使用Enlive,显然,它需要一个额外的环形包装器来允许静态文件重新加载:
[com.akolov.Enlive-reload“0.1.0”]
因此,在我的server.clj/core.clj/handler.clj中,我现在有了这个,它工作得非常好
(:require
[ring.middleware.reload :refer [wrap-reload]]
[com.akolov.enlive-reload :refer [wrap-enlive-reload]])
...
(defn app [routes]
(-> routes
(wrap-params)
(wrap-reload)
(wrap-enlive-reload))))
感谢本库作者“Kolov”除了:自动重新加载?/:自动刷新?之外,还添加了:重新加载路径 谢谢!这可能会帮助另一个人。在我的例子中,问题是enlive保持html文件在服务器启动时的状态。我刚刚更新了问题并分享了我的答案。我使用一个名为
wrap-enlive-reload