Как получить доступ к методам db.clj в core.cljs в clojure
Я пытаюсь создать веб-приложение в clojure
, я использовал clojurescript om
и реагировать. есть два файла core.cljs
а также db.clj
,core.cljs
содержит интерфейс для login page
а также db.clj
содержит все database connections
,
Теперь я пытаюсь позвонить db.clj
Метод add-user[имя пользователя, пароль] в core.cljs.
В db.clj
(defn add-user [username,password]
(sql/with-connection db
(sql/insert-values :users [:username :password]
[username password])))
В core.cljs
(dom/button #js {:ref "submit"
:onClick (fn[e](add-user usname passwrd))}"submit")
Но я не могу вызвать этот метод в core.cljs
, Это показывает некоторое сообщение об ошибке, как
clojure.lang.ExceptionInfo : failed compiling file:src\login_page\core.cljs
clojure.lang.ExceptionInfo : No such namespace: login_page.db, could not locate login_page/db.cljs, login_page/db.cljc, or Closure namespace "login_page.db"
1 ответ
Переименовывать db.clj
либо db.cljs
или же db.cljc
, Это должно устранить сообщение об ошибке "Нет такого пространства имен".
Это основная суть этого. Конечно, ваши зависимости от библиотек clj должны быть удалены - это может быть причиной отрицательного комментария ниже. Измените ваш код так, чтобы вы использовали простой атом в качестве базы данных. Это должно заставить вас развиваться.
И вы можете дождаться гораздо лучшего ответа, чем этот, который покажет вам, как настроить клиент и сервер. Но это может не произойти, потому что, как указано в комментариях, для этого уже есть документация, и, к сожалению, довольно много вариантов, которые необходимо сделать. Еще одна неприятная вещь заключается в том, что способ сделать это сейчас не может быть способ сделать это в начале следующего года. Посмотрите пространство Om-Next!
У меня никогда не было проблем с компиляцией файлов.cljs или.cljc. Вам просто нужно правильно настроить файл lein project.clj. Будет много примеров, если вы будете гуглить, или вы можете взглянуть на следующий небольшой проект Github: https://github.com/chrismurrph/passing-time - не нужно беспокоиться о коде, просто посмотрите на его файл project.clj.