为什么 figwheel 不将编译后的应用程序传递给浏览器?
Why doesn't figwheel pass the compiled app to the browser?
我正在使用 Leiningen 2.5.2(Java 1.8.0_45-internal 打开 JDK 64 位)和试剂模板(即 lein new reagent foo
) .
这与预期的 lein figwheel
运行良好。
接下来,我做的第一件事是将 "Views" 函数分解成单独的文件,并将它们添加到应用命名空间:
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 has not been compiled!",尽管它似乎在终端中编译成功。如果我在图形轮 REPL 中输入命令,当它在浏览器中运行时我会看到绿色的 Clojure 徽标,所以我知道它已连接。
几个月前,我在一个试剂应用程序中使用了这个——发生了什么事? 我应该如何分离我的视图代码? (单个文件难以管理;这是很多问题。)
如果你真的只有 core.cljs 中的 (:require home-page)
行,这应该是罪魁祸首。冒号 :require
仅在带有 ns
的命名空间声明中有效。此外,您在错误的文件中声明了核心名称空间(home-page.cljs,而不是 core.cljs)。看看 this article on namespaces in Clojure 以获得详尽的解释。
您将需要 core.cljs 中的以下内容:
(ns foo.core
(:require [foo.home-page :as hp :refer [home-page]]))
.... more core.cljs code ...
然后就在家-page.cljs:
(ns foo.home-page
(:require ....reagent namespaces as needed ....
(defn home-page [] ....
我正在使用 Leiningen 2.5.2(Java 1.8.0_45-internal 打开 JDK 64 位)和试剂模板(即 lein new reagent foo
) .
这与预期的 lein figwheel
运行良好。
接下来,我做的第一件事是将 "Views" 函数分解成单独的文件,并将它们添加到应用命名空间:
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 has not been compiled!",尽管它似乎在终端中编译成功。如果我在图形轮 REPL 中输入命令,当它在浏览器中运行时我会看到绿色的 Clojure 徽标,所以我知道它已连接。
几个月前,我在一个试剂应用程序中使用了这个——发生了什么事? 我应该如何分离我的视图代码? (单个文件难以管理;这是很多问题。)
如果你真的只有 core.cljs 中的 (:require home-page)
行,这应该是罪魁祸首。冒号 :require
仅在带有 ns
的命名空间声明中有效。此外,您在错误的文件中声明了核心名称空间(home-page.cljs,而不是 core.cljs)。看看 this article on namespaces in Clojure 以获得详尽的解释。
您将需要 core.cljs 中的以下内容:
(ns foo.core
(:require [foo.home-page :as hp :refer [home-page]]))
.... more core.cljs code ...
然后就在家-page.cljs:
(ns foo.home-page
(:require ....reagent namespaces as needed ....
(defn home-page [] ....