1

我有一段时间遇到类似的问题。当我在“build.boot”中使用以下内容时,它不会加载后端,直到我进入并编辑后端文件然后保存。我想知道如何让它在“boot dev”上加载后端。

(deftask dev
 []
 (comp
  (serve
   :port    8000
   :handler 'myapp.handler/app
   :reload  true)
  (watch)
  (hoplon)
  (reload)
  (cljs)))

干杯,

:::EDIT::: 如果我编辑'index.cljs.hl'文件并删除(rpc/init)函数然后保存然后重新插入(rpc/init)函数,它似乎加载了后端。我尝试了很多事情,从在页面加载时使用到在索引页面中移动 (rpc/init) 的位置。我不太明白为什么它需要编辑和保存才能使其工作。

4

1 回答 1

1

很可能有更好的方法,但以下应该有效:

(deftask dev
 []
 (comp
  (serve
   :port    8000
   :handler 'myapp.handler/app
   :reload  true)

  ;; duplicate these
  (hoplon)
  (reload)
  (cljs)

  (watch)
  (hoplon)
  (reload)
  (cljs)))

然后你可以像这样重构它:

(deftask do-stuff []
 (comp
  (hoplon)
  (reload)
  (cljs)))


(deftask dev
 []
 (comp
  (serve
   :port    8000
   :handler 'myapp.handler/app
   :reload  true)
   (do-stuff) ; init
   (watch)
   (do-stuff)))
于 2018-04-20T10:16:06.667 回答