于是,我将我的大型Clojure项目拆分成了两个。
我编译了核心部分并制作了一个Uberjar(超级JAR包)。
然后输入:
lein deploy clojars
为了将那个jar文件公开,我在我的应用程序的project.clj文件中将其添加为依赖项。
这段代码是用cljx编写的,因此可以编译成JavaScript。
我需要采取哪些等效步骤才能将我的两个cljx代码库变成两个单独的JavaScript库,而不必重复整个ClojureScript虚拟机?
更新:澄清一些事情。
1)我知道我可以转到使用.cljc而不是.cljx。我唯一的关注点是这似乎非常新,我不知道我的代码的现有用户是否可能会使用它。但我很快可能会采取这种做法。以cljc形式回答也可以。
2)我已经成功地将我的代码编译成一个单一的主要.js文件。我要找的是如何编译cljs的单独库,这些库可以包含在其他cljs项目中。因为每次我当前编译cljs的时候,都会得到一个包含整个clojurescript VM的main.js文件。
3)我重新回到这个问题的一个动机是我想开始使用Figwheel。所以我想能够创建clojurescript中的库,以便将它们放入我正在通过Figwheel开发的新clojurescript项目中。因此,我想我会在这个新项目的project.clj文件中引用它们,并将它们作为已编译的.js文件包含在web页面中。我错了吗?
project.clj
文件,那就太好了。.cljx
配置中可能会出现多种问题::output-path
、:source-path
、:resource-path
,还有声明依赖项的方式(使用:aot
可能会有问题),以及在deploy clojars
之前是否先调用cljx once
等等。 - nbergercurl -O https://clojars.org/repo/prismatic/schema/0.4.0/schema-0.4.0.jar && unzip schema-0.4.0.jar
。你在那里找不到任何.js
文件,只有.cljs
和.clj
文件。它肯定被用作库,从clj和cljs项目中使用,无论是否使用figwheel。顺便说一下,当你使用figwheel时,你会将“clojurescript VM”(你的意思是cljs.core
和相关命名空间)带入浏览器中。 - nberger