【问题标题】:Using the latest version of google closure with clojurescript?将最新版本的谷歌闭包与 clojurescript 一起使用?
【发布时间】:2012-11-21 12:24:08
【问题描述】:

如何让 clojurescript 和 lein-cljsbuild 使用最新版本的 google 闭包而不是去年的版本?我想使用 websockets 抽象层等新功能。

我尝试制作一个最新副本的 jar 并使用 lein-localrepo 安装它,但它似乎没有任何影响。

有什么建议吗?

【问题讨论】:

标签: leiningen google-closure clojurescript


【解决方案1】:

您可以使用不同版本的 Google Closure 编译器,只需在 project.clj 中从 Clojurescript 中排除其依赖项并添加另一个版本即可。这是使用最新版本的 Clojurscript 和 Google Closure 编译器的 the example project that comes with lein cljs-build 的替代版本。

(defproject cljsbuild-example-simple "0.3.4"
  :description "A simple example of how to use lein-cljsbuild"
  :source-paths ["src-clj"]
  :dependencies [[org.clojure/clojure "1.5.1"]
                 [com.google.javascript/closure-compiler "v20131014"]
                 [org.clojure/clojurescript "0.0-1934"
                  :exclusions [org.apache.ant/ant
                               com.google.javascript/closure-compiler]]
                 [compojure "1.0.4"]
                 [hiccup "1.0.0"]]
  :plugins [[lein-cljsbuild "0.3.4"]
            [lein-ring "0.7.0"]]
  :cljsbuild {
    :builds [{:source-paths ["src-cljs"]
              :compiler {:output-to "resources/public/js/main.js"
                         :optimizations :whitespace
                         :pretty-print true}}]}
  :ring {:handler example.routes/app})

这导致了这个依赖树:

 [clojure-complete "0.2.3" :exclusions [[org.clojure/clojure]]]
 [com.google.javascript/closure-compiler "v20131014"]
   [args4j "2.0.16"]
   [com.google.code.findbugs/jsr305 "1.3.9"]
   [com.google.guava/guava "15.0"]
   [com.google.protobuf/protobuf-java "2.4.1"]
   [org.json/json "20090211"]
 [compojure "1.0.4"]
   [clout "1.0.1"]
   [org.clojure/core.incubator "0.1.0"]
   [org.clojure/tools.macro "0.1.0"]
   [ring/ring-core "1.1.0"]
     [clj-time "0.3.7"]
       [joda-time "2.0"]
     [commons-codec "1.6"]
     [commons-fileupload "1.2.1"]
     [commons-io "2.1"]
     [javax.servlet/servlet-api "2.5"]
 [hiccup "1.0.0"]
 [org.clojure/clojure "1.5.1"]
 [org.clojure/clojurescript "0.0-1934" :exclusions [[org.apache.ant/ant] [com.google.javascript/closure-compiler]]]
   [org.clojure/data.json "0.2.3"]
   [org.clojure/google-closure-library "0.0-20130212-95c19e7f0f5f"]
     [org.clojure/google-closure-library-third-party "0.0-20130212-95c19e7f0f5f"]
   [org.clojure/tools.reader "0.7.9"]
   [org.mozilla/rhino "1.7R4"]
 [org.clojure/tools.nrepl "0.2.3" :exclusions [[org.clojure/clojure]]]

然后编译:

$ lein cljsbuild once
Compiling ClojureScript.
Compiling "resources/public/js/main.js" from ["src-cljs"]...
Successfully compiled "resources/public/js/main.js" in 9.181874 seconds.

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-16
    • 2015-07-28
    • 2018-04-09
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多