Я использую Leiningen 2.5.2 (Java 1.8.0_45-внутренняя 64-разрядная версия Open JDK) и шаблон реагента (т.е. lein new reagent foo
).
Это работает нормально с lein figwheel
, как и ожидалось.
Далее, первое, что я делаю, это разбиваю функции «Представления» на отдельные файлы и добавляю их в пространство имен приложения:
Фрагмент core.cljs:
;; -------------------------
;; Views
(:require home-page)
home-page.cljs (весь файл):
(ns foo.core)
(defn home-page []
[:div [:h2 "Welcome to foo"]
[:div [:a {:href "#/about"} "go to about page"]]])
Когда я перехожу к просмотру приложения в браузере (Chromium или Firefox), оно зависает на «ClojureScript не был скомпилирован!» несмотря на успешную компиляцию в терминале. Если я ввожу команды в figwheel REPL, я вижу зеленый логотип Clojure, когда он работает в браузере, поэтому я знаю, что он подключен.
У меня это работало в приложении для реагентов несколько месяцев назад — что случилось? Как следует отделить код представления? (Один файл неуправляем; это много Иккинга.)