作为获得ClojureScript经验的练习我正在编写一个LightTable插件,我发现没有办法成功使用任何标准库,我阅读官方文档甚至更新它以反映有关路径的最新变化等。我遵循了这个{ {3}}并阅读video尝试提出的解决方案的整个帖子,甚至在没有运气的情况下使用最新的github源代码。
我按照Irakli在Google讨论中提出的工作流程,尝试了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
插件project.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
或外部。
我应该下载jar并将它们手动放入lib文件夹吗?我猜lein deps
无法正常工作
答案 0 :(得分:0)
是的,目前似乎Cljs原生或Cljx,与LightTable UI没有很好的共鸣。
尝试https://github.com/swannodette/om/wiki/Basic-Tutorial你会发现它并不需要太多。您可以创建一个LT键绑定来打开浏览器选项卡,导航到项目文件夹index.html
并再创建一个用于重新加载(因为我认为自动重载是一项正在进行的工作)。当你有cljsbuild自动运行,刷新浏览器和更改时,应该看到另一个带有Cljs文件的选项卡。