【问题标题】:How to integrate libraries (clojars) into Lightable plugins如何将库(clojars)集成到 Lightable 插件中
【发布时间】:2014-11-21 13:19:50
【问题描述】:

作为获得 ClojureScript 经验的练习,我正在编写一个 LightTable 插件,但我找不到成功使用任何标准库的方法,我阅读了官方文档,甚至更新了它以反映有关路径等的最新更改。我遵循了这个 @ 987654321@ 并阅读google group 上的整个线程,尝试提出的解决方案,即使使用最新的 github 源代码也没有运气。

按照 Irakli 在 Google 讨论中提出的工作流程,我尝试包含 core.asynccljs.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 内或之外。

我应该下载 jar 并将它们手动放入 lib 文件夹吗?我猜lein deps 没有像我预期的那样工作

【问题讨论】:

    标签: clojure clojurescript lighttable


    【解决方案1】:

    是的,目前看来,Cljs native 或 Cljx 与 LightTable UI 没有很好的共鸣。

    尝试https://github.com/swannodette/om/wiki/Basic-Tutorial 你会发现它并不需要太多。您可以创建一个 LT 键绑定以打开浏览器选项卡,导航到项目文件夹 index.html 并制作另一个用于重新加载(因为我认为自动重新加载是一项正在进行的工作)。然后在您让 cljsbuild 自动运行、刷新浏览器和更改时看到另一个带有 Cljs 文件的选项卡。

    【讨论】:

      猜你喜欢
      • 2022-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-30
      • 2013-06-14
      • 2020-07-16
      相关资源
      最近更新 更多