【问题标题】:Automating with Boot clojure使用 Boot clojure 实现自动化
【发布时间】:2016-11-27 00:29:46
【问题描述】:

我一直在努力尽可能地遵循教程,但对于我的生活来说,似乎无法让实时重新加载工作

我的目录结构如下:-

/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 添加到 main.cljs.edn... nREPL 服务器在主机 127.0.0.1 上的端口 9000 上启动 - nrepl://127.0.0.1:9000 添加 :require adzerk.boot-cljs-repl 到 main.cljs.edn... 编译 ClojureScript ... ? js/main.js 2016-07-23 02:38:50.287:INFO::clojure-agent-send-off-pool-0:记录已初始化 @51878ms 2016-07-23 02:38:50.450:INFO:oejs.Server:clojure-agent-send-off-pool-0: jetty-9.2.10.v20150310 2016-07-23 02:38:50.501:INFO:oejs.ServerConnector:clojure-agent-send-off-pool-0: 启动 ServerConnector@4451c4ae{HTTP/1.1}{0.0.0.0:3000} 2016-07-23 02:38:50.506:INFO:oejs.Server:clojure-agent-send-off-pool-0: 开始 @52097ms 在 http://localhost:3000 写入目标时启动了 Jetty 目录...经过时间:33.710 秒

我转到 URL...一切都检查出来了。然后我尝试更新 .cljs 和 .html 文件,但什么也没有……除非我自己手动重新加载浏览器,否则不会重新加载刷新更新

我只是不明白......这应该如何工作?我做错了什么?

【问题讨论】:

    标签: clojure clojurescript boot-clj


    【解决方案1】:

    我不认为你做错了什么...... 我拿了你发布的代码,它对我有用。 这是文件的压缩包:

    https://drive.google.com/file/d/0BxSVa_-SDW_eaXpRSlE1aFpqdjA/view?usp=sharing

    当我更改代码时,它会重新加载。 当我更改 HTML 时,它不会(也许 html 需要额外的配置?)

    无论如何,我希望这会有所帮助并表明你很亲密:)

    我建议检查 main.cljs.edn 文件和未列出的源,可能存在一些差异。

    如果它仍然不起作用,请告诉我。

    另外我建议查看开发者控制台中的错误消息!

    【讨论】:

      猜你喜欢
      • 2016-10-10
      • 2021-09-28
      • 2018-11-27
      • 2017-11-13
      • 2020-01-09
      • 2014-09-03
      • 2017-11-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多