webnoirが非推奨になったため、ドキュメントで説明されているようにフェッチから移行することにしましたが、何らかの理由でshoreleave.remotesがJsにコンパイルされていないため、
goog.require could not find: shoreleave.remotes.http_rpc
remote-callbackとremotes.macrosの両方を試しました。私のClojureScript名前空間は次のようになります
(ns my.cljs.ns
(:require [shoreleave.remotes.http-rpc :as rpc])
(:require-macros [shoreleave.remotes.macros :as fm])
およびバックエンド
(ns my.backend
(:use my.views
(:require [compojure.route :as route]
[compojure.handler :as handler]
[cemerick.shoreleave.rpc :as rpc]))
)
(rpc/defremote get-data [last-changed]
[:foo]
)
(defroutes my-routes
(GET "/" [] (intro-view))
(route/files "/" {:root "resources/public"})
(route/not-found "<h1>Page not found</h1>"))
(def my-routing (-> #'my-routes
rpc/wrap-rpc
handler/site))
それを機能させる方法はありますか?
更新:何らかの理由でgoog.require('shoreleave.remotes.http_rpc')がgoog.provide('shoreleave.remotes.http_rpc')の前にあることがわかりました