#clojurescript
#clojurescript
Вопрос:
Я следую clojurescript.org это быстрый старт для создания небольшого приложения.
По умолчанию cljs.main
требуется, чтобы ваш CLJS работал непосредственно под src
(нестандартным):
Команда компиляции, предлагаемая в руководстве, является:
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
работала бы со старой версией).