Нужен ли мне плагин cljsbuild, если я просто пишу функции утилиты clojurescript? - PullRequest
0 голосов
/ 24 мая 2018

Я новичок в Clojurescript, и у меня были сомнения.Прямо сейчас я просто пишу кучу служебных функций в файлах CLJS, которые будут использоваться в других проектах CLJS.

Так нужно ли мне скомпилировать мои файлы CLJS в JS с помощью плагина cljsbuild?Если нет, то как мне все еще скомпилировать исходные файлы CLJS для проверки ошибок и всего?

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Когда проект ClojureScript зависит от кода ClojureScript в библиотеке, он напрямую зависит от исходного кода библиотеки ClojureScript.(Нет необходимости компилировать код этой библиотеки в JavaScript для целей зависимости, и на самом деле эта модель на самом деле не поддерживается.)

Как проект ClojureScript зависит от кода библиотеки ClojureScript?Обычно код библиотеки помещается в JAR, и этот JAR помещается в путь к классам Java проекта.(Часто такие JAR развертываются в Clojars или Maven central.)

Более новая, более гибкая альтернатива, использующая deps.edn, заключается в том, чтобы проект ClojureScript зависел либо от JAR (как описанов предыдущем абзаце), или напрямую зависеть от локального пути библиотеки на диске (используя :local/root) или источника библиотеки GitHub (используя :git/url и :sha).

Чтобы скомпилировать и протестировать вашКод локально вы можете использовать cljs.main, чтобы загрузить код в REPL и использовать его.Часто это может быть так же просто, как настроить deps.edn, а затем запустить

clj -m cljs.main

с последующим использованием (require my-ns.core) для загрузки пространства имен в REPL.

Руководство *1021* Quick Start

очень стоит прочитать по этому поводу. Вы можете использовать cljs.main для запуска тестов на основе cljs.test.Пример выполнения такого теста с использованием Node: здесь .

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

0 голосов
/ 24 мая 2018

Для начала я бы порекомендовал запустить CLJS REPL.Одним из вариантов является использование загрузочных cljs.Инструкция, чтобы установить это здесь https://github.com/adzerk-oss/boot-cljs-repl

Или, если ваши функции просты или чисты и не имеют внешних зависимостей, вы можете попробовать REPL браузера, такой как http://clojurescript.io Настройка не требуется.

В любом случае, вы можете просто вставить функцию в REPL и проверить их.Вы получите мгновенный отзыв.Это должно начать вас.Позже вы можете добавить тестовую инфраструктуру для автоматизации ваших тестов.Веселись!

...