5

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

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

4

1 回答 1

6

格斗威尔

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

您可以使用以下方法创建一个无花果应用程序:

lein new figwheel app

如果你运行:

lein figwheel

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

cljsbuild

Cljsbuild 是一个便于将 cljs 编译(或转译)成 javascript 的插件,它可以通过auto监视源文件的变化来自动(once

否则没有 cljsbuild 你应该使用类似的东西:

java -cp cljs.jar:src clojure.main build.clj

cljs.jarClojureScript 编译器在哪里,build.clj是项目的构建配置。

信息

查看ClojureScript 入门页面,您可以深入了解构建过程的工作原理。

还要检查如何将Figwheel 与 LightTable 一起使用,这是一个很好的匹配,更高级的方法可能是在 emacs 上使用 CIDER,但一开始配置可能很麻烦。

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

它们是不同的工具,Fighweel包装了 cljsbuild,所以我会尽可能使用 Figwheel。

于 2016-11-22T12:05:38.700 回答