文章出處

一、前言                              

  當看到Lisp等函數式編程語言的語法是 (say (concat "hello" "world")) 這樣的時候,我就有種深入學習的沖動,因為它的語法和自己一直使用的Java、C#都不同,酷比了!(我承認我是語法控^_^)又由于我主要玩的是JavaScript,恰好ClojureScript就是純函數式的JS超集,于是決定以ClojureScript作為函數式編程的起點。(雖然JavaScript具有函數式語言的特點:函數為一等公民,閉包等)

  本文作為開篇,首先是在Windows7下搭建ClojureScript的開發環境。

 

二、被主頁忽悠了                              

  ClojureScript@githubQuickStart中提供了Windows下安裝的兩種途徑,1. 安裝Cygwin然后適當修改項目的bootstrap、文件,再依照xinux的安裝方式即可;2. 下載地址依賴包和并根據步驟配置。然后各種折騰后發現repl是可以運行的,但repljs和cljsc卻無法運行。。。。。。

 

三、正解——Leiningen + cljsbuild打環境               

  Leiningen是Clojure和ClojureScript的構建工具,相當于Java的Maven+Ant。

  首先我們到Leiningen@github上下載2.1.2以上的bat文件(我下載了2.5.1版本)然后在當前目錄下執行 lein self-install ,該批處理程序就會自動將jar包下載到當前用戶家目錄下的 .lein/self-install/ 下了

  接著我們執行 lein new <project-name> 新建一個Clojure項目,然后修改project.clj來配置關于項目依賴項和插件的元數據,從而使用lein-cljsbuild插件。

  project.clj文件內容如下:

(defproject myapp "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.6.0"]
                 [org.clojure/clojurescript "0.0-2411"
                  :exclusions [org.apache.ant/ant]]
                 [compojure "1.1.6"]]
  :plugins [[lein-cljsbuild "1.0.4"]]
  :cljsbuild {
    :builds [{:id "main"
              :source-paths ["src-cljs"]
              :compiler {:output-to "js/main.js"
                           :output-dir "out"
                         :optimizations :none
                         :source-map true}}]})

  接著執行 lein cljsbuild auto 啟動實時編譯功能,現在我們可以在src-cljs目錄下編寫ClojureScript并實時查看到編譯后的JS代碼。

 

四、總結                            

  暫時僅留爪印,日后繼續補充。

  尊重原創,轉載請注明來自:http://www.cnblogs.com/fsjohnhuang/p/4215998.html  ^_^肥仔John

 

五、學習資料                          

ClojureScript@github

http://www.learningclojure.com/

https://github.com/matthiasn/Clojure-Resources

http://matthiasnehlsen.com/


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()