2013-01-14 41 views
2

由於webnoir得到了棄用我決定從在docs描述取遷移,但由於某種原因shoreleave.remotes在不被編譯爲JS和結果我得到ClojureScript:從取遷移到shoreleave

goog.require could not find: shoreleave.remotes.http_rpc 

我已經嘗試了遠程回調和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')

回答

1

,之後以增量complition問題在雷音(見蟲CLJS-282),增加「:增加的假」在project.clj固定我的問題:

:cljsbuild { 
    :builds [{ 
    :incremental false 
    :jar true 
    :source-path "src-cljs" 
    :compiler { 
     :output-to "resources/public/js/js.js" 
     :optimizations :whitespace 
     :pretty-print true} 
}]} 
0

我只是在project.clj添加兩個依賴解決了這個問題。

[shoreleave "0.3.0"] 
[shoreleave/shoreleave-remote "0.3.0"]