捣鼓了一天,今天就学习了一下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一起混合编程,纠其目的在于,想验证一下混合编程是否是可行的,并且是以后的趋势。
先从前段混合编程开始。