lein figwheel vs lein cljsbuild auto

时间:2016-11-22 09:40:46

标签: clojurescript figwheel cljsbuild

lein figwheel和lein cljsbuild auto有什么区别,因为我相信它们都用来编译clojurescript。

使用其中一个还有什么好处吗?

1 个答案:

答案 0 :(得分:4)

Fighweel

它们都是lein插件,但是Figwheel不仅将cljs编译成javascript,而且它还具有 hot loading ,它允许交互式编程,实际上Figwheel使用cljsbuild来编译cljs。

您可以使用以下方式创建一个figwheel应用程序:

lein new figwheel app

如果你跑:

lein figwheel

Figwheel将默认在端口3449上创建服务器进程,您可以将浏览器连接到localhost:3449,当您更改源代码时,您会看到Figwheel编译代码并将新编译的javascript加载到您的浏览器(使用websockets)。

Cljsbuild

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。