figwheel 线 vs cljsbuild 自动线

lein figwheel vs lein cljsbuild auto

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

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

菲格韦尔

它们都是 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 是一个有助于将 cljs 编译(或转译)成 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 wraps cljsbuild,所以我会尽可能使用 Figwheel。