После выполнения предложенных шагов на
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
.
После запуска этой задачи можно подключиться к серверу nrepl через порт 4000, преимущество которого заключается в доступе к фактическому состоянию приложения во время разработки. (подробнее см. этот пост )
Это можно сделать через cider-connect
. Однако там пропала горячая перезагрузка. Параметр :reload true
может здесь сбить с толку, он вызывает перезагрузку источника только при выполнении http-запроса. Но я ищу более общий подход к обновлению загрузки.
Примечание. Здесь мы намерены обеспечить перезагрузку в реальном времени на стороне сервера, аналогичную концепциям, известным на стороне клиента (фиговир или загрузка-перезагрузка).
boot-http
; почти все, что я сделал с ним, было в контексте Modern ClojureScript, и в этот момент я не использовалboot-refresh
. Не могли бы вы добавить к своему вопросу MCVE, демонстрирующий проблему, с которой вы столкнулись? - person Sam Estep   schedule 14.08.2016