ClojureScript 为多页网络应用程序单独构建

ClojureScript's separate builds for multipage web app

我有一个在后端使用 Clojure 并在前端使用 ClojureScript 的 Web 应用程序,它由几个页面组成,每个页面都需要适当的构建 js 文件。

现在我知道 cljsbuild 可以构建单独的构建(如果在配置文件的 :builds 部分中指定),前提是每个构建都有自己的文件夹。

问题是:现在我需要在每个文件夹中复制一些共享代码以便正确构建。 此外,我必须为要使用的微不足道的 cljs 文件创建全新的文件夹,这真的很烦人,更不用说每次编辑 :builds 我的 project.clj 部分了。

所以,现在是 2016 年,到目前为止我看到的所有关于 ClojureScript 的教程都是针对单页应用程序的。 是否有任何资源或最佳实践可以满足我的需求,我是否遗漏了什么?

如何在标准的多页面 Clojure 堆栈 Web 应用程序中使用 ClojureScript?

谢谢。

你真的需要多个 cljs 构建吗?

你不能只创建一个,export你需要的组件并在需要时将它们连接到 dom 中吗?

这可能就像使用 require 从一个命名空间到另一个命名空间一样简单。

例如,假设您有以下结构:

project ├── src │   └── cljs │   ├── page1 │   ├── page2 │   │  

您可以从 page2.

require 命名空间 page1.subnamespace 中的内容

:modules compiler option 可用于将您的 clojurescript 构建拆分为可按需使用的优化模块。