我一直在尽我所能地遵循教程,但就我的一生而言,似乎无法实时重新加载
我的目录结构如下:-
/resources
|------/public
|------/css
|------/js
|---- main.cljs.edn
/src
|----/app2
|---- server.clj
|----/cljs
|-----/scripts
|------- client.cljs
|------- dev.cljs
我有以下build.boot
(set-env!
:source-paths #{"src/cljs"}
:resource-paths #{"resources/public"}
:dependencies '[
[adzerk/boot-cljs "1.7.170-3" :scope "test"]
[adzerk/boot-cljs-repl "0.3.2" :scope "test"]
[com.cemerick/piggieback "0.2.1" :scope "test"]
[weasel "0.7.0" :scope "test"]
[org.clojure/tools.nrepl "0.2.12" :scope "test"]
[pandeiro/boot-http "0.7.3" :scope "test"]
[adzerk/boot-reload "0.4.12" :scope "test"]
[tailrecursion/boot.ring "0.2.1" :scope "test"]
[org.clojure/clojure "1.8.0"]
[org.clojure/clojurescript "1.9.89"]
[ring/ring-core "1.5.0" :scope "test"]
[ring/ring-jetty-adapter "1.5.0" :scope "test"]
[enfocus "2.0.0-SNAPSHOT"]
])
(require
'[adzerk.boot-cljs :refer [cljs]]
'[pandeiro.boot-http :refer [serve]]
;;'[tailrecursion.boot.task.ring :as ring]
'[adzerk.boot-reload :refer [reload]]
'[adzerk.boot-cljs-repl :refer [cljs-repl start-repl repl-env]])
(deftask dev []
(comp
(watch)
(reload :port 9001 :on-jsload 'scripts.dev/refresh)
(cljs-repl :nrepl-opts {:port 9000})
(cljs :ids #{"js/main"} :source-map true :optimizations :none)
(serve :dir "resources/public" :port 3000)
(target :dir #{"target"})
))
我的过程输出似乎还可以
正在编写adzerk/boot_reload/init653.cljs以连接到ws://localhost:9001。。。正在写入boot_cljs_repl.cljs…
正在启动文件观察程序(CTRL-C退出)。。。
正在添加:require adzerk.boot-reload.init653 to main.cljs.edn…nREPL服务器在主机127.0.0.1上的端口9000上启动-nrepl://127.0.0.1:9000正在添加:要求adzerk.boot-cljs-repl到main.cljs.edn…正在编译ClojureScript?js/main.js 2016-07-2302:38:50.287:信息::clojure-agent-sensed-of-pool-0:日志记录已初始化@51878毫秒2016-07-2302:38:50.450:信息:oejs.服务器:clojure-agent-sensed-of-pool-0:喷气式飞机-9.2.10.v20150310 2016-07-2302:38:50.501:信息:oejs.ServerConnector:clojure-agent-sensed-of-pool-0:已启动ServerConnector@4451c4ae{HTTP://1.1}{0.0.0.0:3000}2016-07-2302:38:50.506:信息:oejs.服务器:clojure-agent-sensed-of-pool-0:已启动@52097ms启动码头http://localhost:3000写入目标目录。。。运行时间:33.710秒
我转到URL。。。一切都很顺利。然后我尝试更新.cljs和.html文件,但什么都没有。。。。没有重新加载刷新更新,除非我自己手动重新加载浏览器
我就是不明白…这是怎么回事?我做错了什么?
我不认为你做错了什么。。。我拿走了你张贴的代码,它对我有用。这是一个文件的zip:
https://drive.google.com/file/d/0BxSVa_-SDW_eaXpRSlE1aFpqdjA/view?usp=sharing
当我更改代码时,它会重新加载。当我更改HTML时,它不会(也许HTML需要额外的配置?)
无论如何,我希望这能有所帮助,并表明你已经接近了:)
我建议检查未列出的main.cljs.edn文件和源代码,可能存在一些差异。
如果它仍然不起作用,请告诉我。
此外,我建议查看开发人员控制台中的错误消息!