3

で Web アプリを作成しようとしていますclojure。私は使用clojurescript omして反応しました。との 2 つのファイルがcore.cljsありますdb.cljcore.cljsの ui を含み、すべてのlogin pageを含みます。db.cljdatabase 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.cljまたはのいずれかにdb.cljs名前を変更しますdb.cljc。これで、「No such namespace」というエラー メッセージが表示されなくなります。

それがその基本的な要点です。もちろん、clj ライブラリへの依存関係を削除する必要があります。これが、以下の否定的なコメントの理由である可能性があります。データベースとして単純なアトムを使用するようにコードを変更します。それはあなたを発展させるはずです。

そして、クライアントとサーバーの通信設定を取得する方法を示す、これよりもはるかに優れた回答を待つことができます. しかし、コメントで指摘されているように、これについてはすでにドキュメントがあり、残念ながらかなりの数の選択を行う必要があるため、それが実現しない可能性があります。もう 1 つの残念なことは、今行う方法が来年早々に行う方法ではない可能性があることです。Om-Next スペースに注目!

.cljs または .cljc ファイルのコンパイルで問題が発生したことはありません。lein project.clj ファイルを適切に設定するだけです。Google で検索すると、たくさんの例が見つかります。または、次の小さな Github プロジェクトを見ることもできます: https://github.com/chrismurrph/passing-time - コードについて心配する必要はありません。 project.clj ファイル。

于 2015-12-08T10:38:34.147 に答える