我已经使用lein-ring设置我的项目以允许热代码重新加载。当我在应用程序运行时更改任何.clj文件时,它确实有效...
如何在任何html,css和js文件中进行更改。 (位于资源/公共场所......)
这是我的project.clj设置:
(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"这篇文章的作者https://github.com/kolov/enlive-reload
答案 0 :(得分:4)
添加:reload-paths除了:auto-reload?/:auto-refresh?。 https://github.com/weavejester/lein-ring/blob/master/src/leiningen/ring/server.clj#L25