Отдельные сборки ClojureScript для многостраничного веб-приложения

У меня есть веб-приложение, которое использует Clojure для внутреннего интерфейса и ClojureScript для внешнего интерфейса, и оно состоит из нескольких страниц, каждая из которых требует соответствующего встроенного файла JS.

Теперь я знаю, что cljsbuild может создавать отдельные сборки (если указано в разделе : builds файла конфигурации), при условии, что каждая сборка имеет свою собственную папку.

Проблема в том, что теперь мне нужно продублировать некоторый общий код в каждой папке для правильной сборки. Кроме того, действительно раздражает, что мне нужно создать совершенно новую папку для использования даже тривиального файла cljs, не говоря уже о редактировании каждый раз в разделе : builds моего project.clj.

Итак, сейчас 2016 год, и все учебники по ClojureScript, которые я видел до сих пор, предназначены для одностраничных приложений. Есть ли какие-либо ресурсы или лучшие практики для того, что я ищу, я что-то упускаю?

Как использовать ClojureScript в стандартном многостраничном веб-приложении Clojure-stack?

Благодарю.

3 ответа

Решение

:modules Опция compiler может использоваться для разделения вашей сборки clojurescript на оптимизированные модули, которые могут потребоваться по требованию.

Вам действительно нужно несколько сборок cljs?

Не могли бы вы просто создать один, exportНужны ли компоненты, которые вам нужны, и подключать их к DOM, когда они нужны?

Это может быть так же просто, как использовать require из одного пространства имен в другое.

Например, скажем, что у вас есть следующая структура:

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

Вы могли бы require вещи из пространства имен page1.subnamespace изнутри page2,

Другие вопросы по тегам