Как изменить Clojurescript cljs.основной исходный путь?

#clojurescript

#clojurescript

Вопрос:

Я следую clojurescript.org это быстрый старт для создания небольшого приложения.

По умолчанию cljs.main требуется, чтобы ваш CLJS работал непосредственно под src (нестандартным):

структура каталогов cljs.main по умолчанию

Команда компиляции, предлагаемая в руководстве, является:

 clj --main cljs.main --compile hello-world.core --repl
  

Мой вопрос прост: как я могу указать, что исходный корневой путь, src/main/cljs а не по умолчанию src ?

Я искал высоко и низко и тестировал все, что мог придумать, и не могу понять, как внести это, казалось бы, простое изменение.

Ответ №1:

Вам нужно определить путь в файле deps.edn , который должен быть расположен в папке верхнего уровня вашего проекта, вот так:

 .
├── deps.edn
└── src
    └── main
        └── cljs
            └── hello
                └── core.cljs
  

Содержимое deps.edn выглядит следующим образом:

 {:deps {org.clojure/clojurescript {:mvn/version "1.10.758"}}
 :paths [:cljs-paths]
 :aliases {:cljs-paths ["src/main/cljs"]}}
  

Пример файла:

 (ns hello.core)

(println "Hello CLJS from hello.core")
  

Я скомпилирую и запущу пример из NodeJS, поэтому я передаю флаг ( --target node ), чтобы установить NodeJS в качестве цели времени выполнения:

 $ clj -m cljs.main --target node --output-to core.js -c hello.core
WARNING: When invoking clojure.main, use -M

$ node core.js 
Hello CLJS from hello.core
  

Полную ссылку на содержимое файла deps.edn можно найти на: https://clojure.org/reference/deps_and_cli и там есть раздел о том, как настроить пути для исходных, ресурсных и тестовых папок.

Комментарии:

1. Фантастика! Спасибо. Я обнаружил, что мне также необходимо обновить свою clj версию с 1.10.1.536 до 1.10.758 , :aliases чтобы она работала (только :paths работала бы со старой версией).