Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ClojureScript:从fetch迁移到shoreleave_Clojure_Fetch_Clojurescript - Fatal编程技术网

ClojureScript:从fetch迁移到shoreleave

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

由于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])
  (: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"]