设置ClojureScript

时间:2014-04-06 18:58:33

标签: javascript clojurescript compojure ring hiccup

我一直在命令行中尝试以下操作来让ClojureScript运行$ lein cljsbuild auto。但是继续收到警告无法找到交叉:web-viz.x-over。交叉线在我的项目下面

(defproject web-viz
 :dependencies [[org.clojure/clojure "1.4.0"]
        [ring/ring-core "1.1.7"]
                [ring/ring-jetty-adapter "1.1.7"]
        [compojure "1.1.3"]
        [hiccup "1.0.2"]]
 :plugins      [[lein-ring "0.8.3"]
        [lein-cljsbuild "0.2.10"]]
 :ring         {:handler web-viz.web/app}
 :cljsbuild    {:crossovers [web-viz.x-over],
                 :builds [{:source-paths ["src-cljs"],
                 :crossover-path "xover-cljs",
                 :compiler 
                {:pretty-print true,
                 :output-to "resources/js/script.js",
                 :optimizations :whitespace}}]})

最终,我正试图启动并看到这个:

enter image description here

以下目录已经完成:

$ mkdir -p src-cljs/webviz
$ mkdir -p resources/js

还创建了以下文件src-cljs/webviz/core.cljs,其中包含

(ns webviz.core)
    (defn ^:export hello [world]
    (js/alert (str "Hello, " world)))

我的web.clj包含

(defn index-page []
   (html5
     [:head
       [:title "Web Charts"]]
     [:body
       [:h1 {:id "web-charts"} "Web Charts"]
     [:ol
       [:li [:a {:href "/data/census-race.json"} "2010 Census Race Data"]]]
    (include-js "js/script.js")
    (javascript-tag "webviz.core.hello('from ClojureScript!');")]))

(defroutes site-routes
    (GET "/" [] (index-page))
    (route/resources "/")
    (route/not-found "Page not found"))

(def app (-> (handler/site site-routes)))

1 个答案:

答案 0 :(得分:1)

你正在使用一个非常过时的教程。根据{{​​3}},不推荐使用交叉。此外,如果您打算在后端/前端之间共享代码,您只需要它们,我怀疑您这样做。

我所知道的ClojureScript项目的最简单的起点是:

    $ lein new mies webviz && cd webviz
    $ lein cljsbuild once
    $ open index.html

这将为您呈现一个空白页面和一个“Hello world!”在javascript控制台中。