3

我正在尝试在clojure. 我已经使用clojurescript om并做出了反应。有两个文件core.cljsdb.clj. core.cljs包含 ui forlogin pagedb.clj包含所有database connections.

现在我正在尝试db.clj在 core.cljs 中调用方法 add-user[username password]。

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"
4

1 回答 1

3

重命名db.cljdb.cljsdb.cljc。这应该会让您摆脱“没有这样的命名空间”错误消息。

这就是它的基本要点。当然,必须删除您对 clj 库的依赖——这可能是下面负面评论的原因。更改您的代码,以便您使用一个简单的原子作为您的数据库。那应该让你发展。

您可以等待一个比这个更好的答案,它将向您展示如何获得客户端和服务器通信设置。但它可能不会到来,因为正如评论中所指出的,已经有这方面的文档,不幸的是,必须做出相当多的选择。另一个不幸的事情是,现在做的方式可能不是明年年初的方式。观看 Om-Next 空间!

我在编译 .cljs 或 .cljc 文件时从来没有遇到过任何问题。您只需要正确设置您的 lein project.clj 文件。如果你谷歌一下会有很多例子,或者你可以看看下面的 Github 小项目:https ://github.com/chrismurrph/passing-time - 不用担心代码,看看它项目.clj 文件。

于 2015-12-08T10:38:34.147 回答