ClojureScript:从fetch迁移到shoreleave
由于webnoir被弃用,我决定从fetch迁移,如中所述,但由于某些原因shoreleave.remotes没有被编译为Js,因此我得到了ClojureScript:从fetch迁移到shoreleave,clojure,fetch,clojurescript,Clojure,Fetch,Clojurescript,由于webnoir被弃用,我决定从fetch迁移,如中所述,但由于某些原因shoreleave.remotes没有被编译为Js,因此我得到了 goog.require could not find: shoreleave.remotes.http_rpc 我尝试了远程回调和remotes.macros。我的ClojureScript命名空间如下所示 (ns my.cljs.ns (:require [shoreleave.remotes.http-rpc :as rpc]) (:requ
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))
(ns my.backend
(:使用我的视图
(:require[compoure.route:as route]
[compojure.handler:作为处理程序]
[cemerick.shorelieve.rpc:as-rpc]))
)
(rpc/defremote获取数据[上次更改]
[:foo]
)
(取消我的路线
(获取“/”[](简介视图))
(路由/文件“/”{:root“资源/公共”})
(路由/未找到“未找到页面”))
(定义我的路线(->#“我的路线
rpc/wrap-rpc
处理人(现场)
有什么办法让它工作吗
更新:我发现出于某种原因,goog.require('shoreleaf.remotes.http_-rpc')在goog.provide('shoreleaf.remotes.http_-rpc')之前出现了goog.require('shoreleaf.remotes.http_-rpc')这是lein中的增量编译问题(请参见bug),在project中添加了:'incremental false'。clj修复了我的问题
:cljsbuild {
:builds [{
:incremental false
:jar true
:source-path "src-cljs"
:compiler {
:output-to "resources/public/js/js.js"
:optimizations :whitespace
:pretty-print true}
}]}
我刚刚通过在project.clj中添加两个依赖项解决了这个问题
[shoreleave "0.3.0"]
[shoreleave/shoreleave-remote "0.3.0"]