2013-01-14 6 views
2

webnoir은 내가 docs에 설명 된대로 가져 오기로 마이그레이션하기로 결정했습니다,하지만 어떤 이유 shoreleave.remotes에 대한 JS로 컴파일되지에서 그 결과로 내가ClojureScript : 가져 오기에서 마이그레이션하는 shoreleave하는

goog.require could not find: shoreleave.remotes.http_rpc 
을 얻을되지했기 때문에

원격 콜백과 remotes.macros를 모두 시도했습니다. 내 ClojureScript 네임 스페이스

(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)) 

모든 아이디어를 어떻게가 작동하려면이

(ns my.cljs.ns 
(:require [shoreleave.remotes.http-rpc :as rpc]) 
    (:require-macros [shoreleave.remotes.macros :as fm]) 

및 백엔드 같이 간다?

UPDATE : 나는 몇 가지 이유 goog.require ('shoreleave.remotes.http_rpc')에 대한 goog.provide ('shoreleave.remotes.http_rpc')

답변

1

전에 증분 ​​complition에 문제가 있었다가는 것을 발견 lein에 추가 (버그 CLJS-282 참조) ': 증분 거짓'

: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 두 종속성을 추가하여이 문제를 해결 project.clj에서 나의 문제를 해결.

[shoreleave "0.3.0"] 
[shoreleave/shoreleave-remote "0.3.0"] 
관련 문제