使用lein从cljc文件编译ClojureScript
cljc/lein/clojurescript有效吗 我以前使用过cljx,并且能够使用cljx插件为lein编译同一个项目,启动了cljsbuild任务 现在我切换到cljc,我想将我的cljc文件编译成已编译的Java和javascript,以便在浏览器中使用 这是我当前的project.clj文件使用lein从cljc文件编译ClojureScript,clojure,leiningen,clojurescript,cljc,Clojure,Leiningen,Clojurescript,Cljc,cljc/lein/clojurescript有效吗 我以前使用过cljx,并且能够使用cljx插件为lein编译同一个项目,启动了cljsbuild任务 现在我切换到cljc,我想将我的cljc文件编译成已编译的Java和javascript,以便在浏览器中使用 这是我当前的project.clj文件 (defproject com.mysite/myproj "0.3.2-SNAPSHOT" :description "" :url "" :license {:name "Gnu
(defproject com.mysite/myproj "0.3.2-SNAPSHOT"
:description ""
:url ""
:license {:name "Gnu Lesser Public License"
:url "https://www.gnu.org/licenses/lgpl.html"}
:dependencies [[org.clojure/clojure "1.7.0"]]
:plugins [[lein-cljsbuild "1.0.3"]
[lein-localrepo "0.4.0"] ]
:source-paths ["cljc" "src" ]
:cljsbuild {:builds [{
:source-paths ["cljc" ]
:compiler {
:output-to "browser-based/js/main.js"
:optimizations :whitespace
:pretty-print true }
} ]}
:hooks [leiningen.cljsbuild]
:aot [myproj.core]
:main myproj.core)
我不记得是从哪里复制的,但是我假设leiningen.cljsbuild钩子是自动启动cljs构建过程的。然而,在删除cljx插件并转到cljc之后,这成功地编译了我的程序的Java版本,但似乎没有生成任何javascript。是的,它可以工作
尝试:
(defproject com.mysite/myproj "0.3.2-SNAPSHOT"
:description ""
:url ""
:license {:name "Gnu Lesser Public License"
:url "https://www.gnu.org/licenses/lgpl.html"}
:dependencies [[org.clojure/clojure "1.7.0"]
[org.clojure/clojurescript "1.7.28"]
:plugins [[lein-cljsbuild "1.0.6"]
[lein-localrepo "0.4.0"]]
:source-paths ["cljc" "src"]
:cljsbuild {:builds [{
:source-paths ["cljc" "src"]
:compiler {:output-to "browser-based/js/main.js"
:optimizations :whitespace
:pretty-print true}}]}
:hooks [leiningen.cljsbuild])
然后运行:lein compile
或lein cljsbuild一次
请注意,我将:cljsbuild下的:源路径更改为包含“src”::源路径[“cljc”“src”]
。除此之外,我还添加了对clojurescript的显式依赖,并将cljsbuild版本升级到1.0.6
顺便问一下,为什么您有一个单独的cljc
目录?您可以让您的cljc、clj和cljs文件共享相同的目录结构。请注意,lein doo
是用于测试的。哦,您说得对@sbensu,我会解决问题的,谢谢!谢谢是的,这很有效。Re:cljc目录。首先,它只是对我的cljx目录进行重命名(所有CLJC都重命名为cljx)。但我在网上的某个地方看到有人在使用这种布局。你能发布你的目录树吗?