我正在使用 ClojureScript、Boot 和 Boot-Cljs 构建 Firefox 附加组件。Firefox 的 Add-On SDK 采用了一定的目录结构;就我而言,我需要一个project-root/data
目录来存放我的contentScriptFile
.
我应该如何构建一个 ClojureScript 文件,该文件存在project-root/src/foo/core.cljs
并输出或移动到project-root/data
? 我尝试使用boot sift --move
无济于事(我承认我不完全理解此任务应该如何工作,需要哪些参数等),使用main.cljs.edn
清单并调整其位置,,:asset-path
等:output-path
无济于事。
;; src/main.cljs.edn
{:require [foo.core]
:init-fns [foo.core/init!]
:compiler-options {:output-path "data"}}
;; build.boot
(set-env!
:source-paths #{"src" "data"}
:dependencies '[[org.clojure/clojure "1.7.0"]
[org.clojure/clojurescript "1.7.170"]
[adzerk/boot-cljs "1.7.170-3"]])
(require '[adzerk.boot-cljs :refer [cljs]])
(deftask build []
(comp (cljs :optimizations :whitespace)))
我对 Boot 很感兴趣,想弄清楚这一点,但我不得不承认,我在这方面浪费了很多时间(而且看起来我并不孤单)。鉴于我已经有一个简单的、可工作的 Clojure 脚本,它直接调用 ClojureScript 编译器 - 并使用它:output-to
来完成我需要的工作 - 我可能会恢复使用这种方法来完成这个实验。