作为获得ClojureScript经验的练习,我正在编写一个LightTable插件,我发现没有办法成功地使用任何标准库,我阅读了官方文档,甚至更新了它,以反映有关路径等的最新变化。我关注了这个video,并在google group上阅读了整个帖子,试图尝试提出的解决方案,甚至没有幸运地使用最新的github源代码。
我试着按照Irakli在谷歌讨论中提出的工作流程,包括core.async或cljs.http (我知道嵌入式nodejs替代方案,只是作为例子)。最简单的可能场景:
$ lein version
Leiningen 2.5.0 on Java 1.7.0_55 Java HotSpot(TM) 64-Bit Server VM (Mac OS X 10.9.5) and LT latest (0.7.2)
$ lein new lt-plugin sample插件项目.clj->
(defproject sample "0.0.1"
:dependencies [[org.clojure/clojure "1.5.1"]
[cljs-http "0.1.20"]
])核心文件
(ns lt.plugins.sample
(:require [lt.object :as object]
[lt.objs.tabs :as tabs]
[lt.objs.command :as cmd]
[cljs-http.client :as http]
)
(:require-macros [lt.macros :refer [defui behavior]]))
(defn get-users
""
[]
(let [response (http/get "https://api.github.com/users" {:with-credentials? false})]
(prn (:status response))
(prn (map :login (:body response))))) ; evaluated correctly
(get-users) ; loads of errors like
WARNING: Referred var clojure.string/split does not exist at line 1 file:/Users/jaime/.m2/repository/noencore/noencore/0.1.16/noencore-0.1.16.jar!/no/en/core.cljs我运行lein deps,保存,重新加载行为,重新启动,刷新插件列表...尝试了所有可能的组合,插件文件夹在~/Library/Application Support/LightTable/plugins内或外部。
我应该下载jars并手动将它们放到lib文件夹中吗?我猜lein deps没有像我预期的那样工作
发布于 2014-12-30 11:50:10
是的,目前看起来Cljs原生或Cljx并不能很好地与LightTable UI产生共鸣。
尝试一下https://github.com/swannodette/om/wiki/Basic-Tutorial,你会发现这并不需要花费太多时间。您可以创建LT快捷键来打开浏览器选项卡,导航到项目文件夹index.html并创建另一个快捷键来重新加载(因为我认为自动重新加载是一项正在进行的工作)。当你让cljsbuild自动运行,刷新浏览器时,应该会看到Cljs文件的另一个选项卡。
https://stackoverflow.com/questions/27062382
复制相似问题