为什么我的 lein re-frame 模板中有 clj 和 cljs 文件夹?

2024-04-04

为什么我的 lein re-frame 模板中有 clj 和 cljs 文件夹,如下所示?为什么它们都包含名为.core似乎使用相同的命名空间?有人告诉我这是学习重新构建时的起点,但我找不到任何解释为什么模板会这样设置或创建,包括它们包含的内容。

任何 lein 模板附带的任何样板或代码都没有解释,这使得初学者很难使用它们。


此设置用于将 Clojure 后端代码与 ClojureScript 前端分开。它实际上没有必要,我也不特别推荐它,但我可以解释它的历史以及为什么你想要这样做。

对于 ClojureScript 方面来说,这根本不重要。

构建 Clojure 后端时,您通常会部署在一些“uberjar”或“uberwar”设置中。这意味着所有源文件和依赖项都打包到一个单独的文件中.jar文件(基本上只是一个 zip 文件)。这通常是通过包含一组指定目录中的所有文件来完成的,因此它将包括src/clj但不是src/cljs。如果所有内容都在一个目录中,则会添加.cljs文件也是如此,尽管 Clojure 后端从未使用过它们。所以本质上它只会让你的“uberjar”变得更大。这不是一个重要的优化,但有些人更喜欢保持精简和干净。

此外,一些开发人员更喜欢以这种方式分离代码。在这种情况下,模板作者做到了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我的 lein re-frame 模板中有 clj 和 cljs 文件夹? 的相关文章

随机推荐