Clojure Project 工程文件分析

捣鼓了一天,今天就学习了一下project.clj的工程配置文件。
最终要的就是理解各个配置的内容,自己记录一下心得。

 1 (defproject cljsbuild-example-simple "0.3.0"
 2   :description "A simple example of how to use lein-cljsbuild"
 3   :source-paths ["src-clj"]
 4   :dependencies [[org.clojure/clojure "1.4.0"];语言
 5                  [compojure "1.0.4"];路由组件
 6                  [hiccup "1.0.0"]];渲染html组件
 7   :plugins [[lein-cljsbuild "0.3.0"];编译cljs的插件
 8             [lein-ring "0.7.0"]];ring jetty的clojure接口插件
 9   :cljsbuild {
10     :builds [{:source-paths ["src-cljs"];默认的cljs文件
11               :compiler {:output-to "resources/public/js/main.js" ;编译之后除数的目录
12                          :optimizations :whitespace
13                          :pretty-print true}}]}
14   :ring {:handler example.routes/app}) ;执行入口

一个典型的配置文件。由于语言没有,所以只能选择xml格式来显示,因为感觉从类型上,属于标记型的。
感觉最困难的是一个一个理解插件和组件的具体作用,因为入门,不知道,所以感觉很彷徨。
而且由于是跟maven挂钩,所以包依赖更加难以理解。
这个配置文件是cljs-build提供的一个例子,自己也弄了一个例子:

 1 (defproject hello-world "0.1.0-SNAPSHOT"
 2   :description "FIXME: write description"
 3   :url "http://example.com/FIXME"
 4   :license {:name "Eclipse Public License"
 5             :url "http://www.eclipse.org/legal/epl-v10.html"}
 6   :dependencies [[org.clojure/clojure "1.4.0"]
 7                  [org.clojure/clojurescript "0.0-1450"]]
 8   :plugins [[lein-cljsbuild "0.2.7"]] ;插件版本
 9   :source-paths ["src/clj"]
10   ;新版本的cljsbuild貌似已经改变了 但是为了和学习的版本一定。只能自己摸索
11   :cljsbuild {:builds [{
12                        ;源代码文件 这里不是数组 估计是由于版本问题 如果用数组的话会产生问题 0.2.7
13                        :source-path "src/cljs"
14                        :compiler {
15                                  :output-to "hello.js" ;最终生成的文件
16                                  :output-dir "js" ;目录一定要指定 不然生成的就是默认
17                                  :optimizations :whitespace
18                                  :pretty-print true
19                                    }}]})

自己建的项目就比范例比较繁琐,而且用的cljsbuild是0.2.7的,配置有问题,只能摸索前进。
相信不久之后,就可以coffeescript和ClojureScirpt一起混合编程,纠其目的在于,想验证一下混合编程是否是可行的,并且是以后的趋势。
先从前段混合编程开始。

posted @ 2013-04-02 15:43  snakevash  阅读(505)  评论(0编辑  收藏  举报