如果我只是编写clojurescript实用程序函数,是否需要cljsbuild插件?

时间:2018-05-24 10:26:05

标签: compilation clojurescript

我是Clojurescript的初学者,我有一个疑问。现在我只是在CLJS文件中编写一堆实用程序函数,这些函数将在其他CLJS项目中使用。

所以我还需要使用cljsbuild插件将我的CLJS文件编译成JS吗?如果不是,我如何编译我的CLJS源文件以检查错误和所有?

2 个答案:

答案 0 :(得分:1)

首先,我建议让CLJS REPL运行。一种选择是使用boot cljs。在此设置https://github.com/adzerk-oss/boot-cljs-repl

的说明

或者,如果您的功能简单或纯粹,并且没有外部依赖性,您可以尝试浏览器REPL,例如http://clojurescript.io无需设置。

无论哪种方式,您都可以将函数粘贴到REPL中并进行测试。您将获得即时反馈。这应该让你开始。稍后,您可以添加测试基础架构以自动化测试。玩得开心!

答案 1 :(得分:1)

当ClojureScript项目依赖于库中的ClojureScript代码时,它直接依赖于库的ClojureScript源代码。 (出于依赖性目的,不需要将该库的代码编译为JavaScript,事实上,该模型实际上并不受支持。)

ClojureScript项目如何依赖于ClojureScript库的代码?通常,库的代码放在JAR中,并且JAR放在项目的Java类路径中。 (这些JAR通常被部署到Clojars或Maven中心。)

使用deps.edn的更新,更灵活的替代方法是让ClojureScript项目依赖于JAR(如前一段所述),或者直接依赖于磁盘上库的本地路径(使用{ {1}})或图书馆的GitHub来源(使用:local/root:git/url)。

要在本地编译和测试代码,可以使用cljs.main在REPL中加载代码并进行练习。这通常可以像设置:sha然后运行

一样简单
deps.edn

然后使用clj -m cljs.main 将命名空间加载到REPL中。 Quick Start指南非常值得一读。

您可以使用(require my-ns.core)运行基于cljs.main的测试。使用Node运行此类测试的示例是here

还有其他更复杂且功能丰富的选项可用于编译和测试ClojureScript库代码;以上内容涵盖了ClojureScript本身附带的一些更简单的选项。