1

前段时间我使用了试剂库,对它的功能和速度非常满意。

但现在我参与了一些带有游戏框架的 Web 开发,并希望有机会在我的项目中使用这个不错的库。

有一个用于播放的clojurescript 编译插件,所以我想它可以用来编译,也许可以连接和最小化试剂资产。

所以问题是:可以在没有 leiningen 的情况下在 sbt build 上使用试剂吗?

更新: 我用谷歌搜索了 clojurescript plugin 的这个继任者

从插件的描述和这个问题(由后继库的作者) 我了解到应该在plugins.sbt

plugins.sbt后来添加了这段代码:

addSbtPlugin("io.github.petro-rudenko" % "play-clojurescript" % "0.0.2")

resolvers += "clojars" at "http://clojars.org/repo/"

resolvers += "clojure-releases" at "http://build.clojure.org/releases"

libraryDependencies += "reagent" % "reagent" % "0.5.0"

并编写示例 cljs

(ns javascripts.reagentsample
  (:require [reagent.core :as reagent]))

(enable-console-print!)

(defn input-field [label-text id]
  (let [value (atom nil)]
    (fn []
      [:div
       [:label "The value is: " @value]
       [:input {:type      "text"
                :value     @value
                :on-change #(reset! value (-> % .-target .-value))}]])))

(reagent/render-component [input-field] (.-body js/document))

代码已编译并与 clojurescript 核心和试剂库连接。在删除了一些 requirejs 和 angular cloacks 之后,一切都变得神奇了。

所以现在我只有一个问题:我不能要求我自己的命名空间。尽管我clojure.lang.ExceptionInfo: No such namespace:在 clojurescript 编译期间尝试了所有命名尝试。

那个来源的角度来看,我可以说我的项目中 clojurescript 编译器的入口点是app/assets/所以我的主文件具有以下命名空间定义:

(ns javascripts.reagentsample
  (:require [reagent.core :as reagent :refer [atom]]
            [javascripts.lol :refer [mystring]]))

我的次要来源有这个定义:

(ns javascripts.lol)

两者都位于app/assets/javascripts文件夹中。

4

1 回答 1

1

您提供的链接没有说明 Clojurescript 库,但这个链接有:https ://github.com/petro-rudenko/play-clojurescript 。我认为这应该做你想要的。

于 2015-03-22T01:36:55.663 回答