Как использовать figwheel с кольцевым обработчиком, который является компонентом?

Я хочу использовать figwheel, чтобы перезагрузить внешний интерфейс проекта, полностью основанного на clojure. играть с.

Серверная часть обслуживает REST API и организована в виде набора компонентов, из которых я создаю систему в своем main (я использую duct для создания компонента-обработчика). Я хочу передать состояние своим обработчикам с помощью замыканий, но единственным способом настройки figwheel для использования моего обработчика, похоже, является установка кольцевой обработчик в project.clj, и для этого требуется, чтобы я передал обработчик, который определен в пространстве имен во время запуска lein.

Итак, есть ли способ настроить figwheel, когда я запускаю свой компонент? Я все еще очень новичок в Closure, поэтому, вероятно, я что-то упускаю из виду.

Передача состояния в качестве параметра кольцевому обработчику? аналогична вопрос, но ответ там включает в себя привязку обработчика var на верхнем уровне пространства имен, чего я пытаюсь избежать.


person Tom Dunham    schedule 23.05.2015    source источник


Ответы (2)


Figwheel не должен быть обработчиком. Вы можете обернуть компонент, который автоматически собирается, когда ваш сервер запущен и работает, анализируя этот код в компонент, зависимость от вашего серверного компонента, чтобы он запускался первым. Обратите внимание, что это официально не поддерживается. Запуск lein figwheel из оболочки для загрузки отдельной JVM является обычным использованием.

Если вы используете библиотеку компонентов Stuarts, я бы рекомендовал обернуть обработчик кольца изнутри серверного компонента, а не через project.clj. Используйте этот проект или адаптируйте фрагмент кода для компонента пристани.

Обратите внимание, что figwheel предназначен для разработки, поэтому в рабочей среде вы, скорее всего, захотите использовать скомпилированный файл js, созданный с помощью e. грамм. lein-cljsbuild.

person Leon Grapenthin    schedule 25.05.2015

Джеймс Ривз сделал компонент для figwheel здесь

Duct-Figwheel-Component Компонент инструмента разработки Figwheel, предназначенный для использования в среде Duct (но может использоваться в любой системе, основанной на компонентах).

Установка

Добавьте следующую зависимость в ваш проект.clj:

[duct/figwheel-component "0.3.3"]

person manandearth    schedule 06.04.2019