Перезагрузка браузера Clojure в режиме реального времени в Linux

Есть ли что-то вроде Rack-LiveReload, которое можно использовать вместе с таким инструментом, как Guard-LiveReload для разработки на Clojure? Я действительно не могу обойтись без перезагрузки в реальном времени, когда я ее использовал. Если нет ничего более удобного, я могу загрузить JS-файл LiveReload , вручную включить его в свое приложение и использовать с Guard- LiveReload, но я бы предпочел, чтобы было полностью решение Clojure. Я не могу установить приложение LiveReload на свой компьютер, потому что я использую Linux, поэтому мне нужно что-то вроде Guard-LiveReload.

Я новичок в Clojure, но пока я собираюсь использовать Ring и Compojure, что, возможно, может иметь значение.


person Lee    schedule 19.08.2013    source источник


Ответы (3)


Хорошо, это можно сделать очень легко, но с Grunt и https://github.com/gruntjs/grunt-contrib-watch (со встроенной поддержкой LiveReload), Grunt будет работать с любым языком.

person Lee    schedule 04.01.2014

Я ковырялся в библиотеке c2 и обнаружил, что автор создал в Clojure сервер LiveReaod.

https://github.com/lynaghk/c2/tree/master/vrepl

У него также есть скринкаст на его сайте. http://keminglabs.com/c2/

Grunt, вероятно, сработает для вас, но поскольку вы спросили о реализации Clojure, я решил упомянуть об этом.

person Kurt Harriger    schedule 27.01.2014

Имхо, лучшим и идиоматичным способом в вашем случае может быть переход с адаптера Ring Jetty на http://http-kit.org, который обеспечивает горячая перезагрузка кода из коробки. Он также поддерживает веб-сокеты и имеет заметную производительность.

Разумеется, он совместим с Ring & Compojure: HTTP Kit — это минималистичный, эффективный, совместимый с Ring HTTP-клиент/сервер для Clojure. Он использует управляемую событиями архитектуру для поддержки параллельных а/синхронных веб-приложений. Представить единый API для WebSocket и длительного опроса/потоковой передачи HTTP

person Jaime Agudo    schedule 28.01.2014
comment
Горячая перезагрузка кода на самом деле не то же самое, что LiveReload — LR запускает обновление в браузере при изменении веб-контента, а не при изменении кода Clojure. - person mlaccetti; 17.06.2014