lein figwheel和lein cljsbuild auto有什么区别,因为我相信它们都用来编译clojurescript。
使用其中一个还有什么好处吗?
答案 0 :(得分:4)
它们都是lein插件,但是Figwheel不仅将cljs编译成javascript,而且它还具有 hot loading ,它允许交互式编程,实际上Figwheel使用cljsbuild来编译cljs。
您可以使用以下方式创建一个figwheel应用程序:
lein new figwheel app
如果你跑:
lein figwheel
Figwheel将默认在端口3449上创建服务器进程,您可以将浏览器连接到localhost:3449
,当您更改源代码时,您会看到Figwheel编译代码并将新编译的javascript加载到您的浏览器(使用websockets)。
Cljsbuild是一个便于将clj编译(或转换)为javascript的插件,它可以通过观察源文件中的更改自动执行(auto
),也可以使用once
来构建js一次就是这样。
否则,如果没有cljsbuild,你应该使用类似的东西:
java -cp cljs.jar:src clojure.main build.clj
其中cljs.jar
是ClojureScript编译器,build.clj
是项目的构建配置。
检查ClojureScript getting started page,可以让您了解构建过程的工作原理。
同时检查如何使用Figwheel with LightTable,这是一个很好的匹配,更高级的方法可能是在emacs上使用CIDER,但配置起初可能很麻烦。
使用其中一个还有什么好处吗?
它们是不同的工具,Fighweel 包裹 cljsbuild,所以我会尽可能使用Figwheel。