Как получить доступ к методам 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.

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