略過了廢話不想翻譯...
Leiningen 能夠幫助你去建立、構建、測試、打包還有部署你的項目。換句話說,它是你須要的一個能夠一站式管理應用相關內容的工具。html
這段不想翻譯啦。就是說 Clojure 的 Leiningen 相似於 Maven。
使用了 Leiningen 後,你就能夠不用擔憂任何的關於下載你的應用所使用包的問題了。你只要在一開始說明關於包最高層級的依賴,它就會會自動幫你自動的加載進來。web
安裝 Leiningen 也是十分簡單的。你能夠在官網上下載腳本,運行它就能夠了。瀏覽器
安裝我也不想翻譯啦。
使用下面的命令就能夠簡單的建立一個項目了:app
lein new myapp
打開新建項目的文件夾以後,在 src 文件夾下,咱們能看到一個叫作 myapp 的文件夾,裏面就有一個源代碼文件 core.clj
:eclipse
(ns myapp.core) (defn foo "I don't do a whole lot." [x] (println x "Hello, World!"))
注意,這個命名空間的聲名和文件的結構是匹配的,由於core
文件在myapp
文件夾中,因此它的名字是:myapp.core
。webapp
在項目myapp
之中,有一個文件project.clj
,這個文件之中包含了對於咱們這個應用的描述。
在仔細審視這個文件以後,你會發現這個他是使用標準的Clojure語法寫成的包括了應用名稱、版本號、url地址以及依賴的包。工具
(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.5.1"]])
project.clj
文件也支持咱們進行各類個樣方面的對於應用程序的管理。舉一個例子,咱們能夠設置在myapp.core
中的foo
方法做爲其在應用中的入口點,使用:main
關鍵詞進行設置。測試
(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.5.1"]] ;;this will set foo as the main function :main myapp.core/foo)
如今在終端之中就可使用lein run
命令來運行這個應用。由於foo
須要一個參數,因此咱們能夠傳入一個:this
lein run First ;-> First Hello, World!
在前面這個例子之中,咱們建立了一個很是簡單的應用,只依賴於Clojure就能夠運行。若是咱們要使用它來建立一個互聯網應用,咱們須要寫不少的樣板文件來確保它能夠正確的運行。讓咱們來看看如何使用Leiningen來建立一個已經爲咱們設置好樣板的webapp。url
將模版名稱提供給lein
腳本,在建立項目以後就可使用它了。
這些模版自身是使用了lein-newnew plug-in
的Clojure項目,晚些時候咱們將看看怎麼本身來作『模版』。
而如今,咱們將要使用compojure-app
來建立咱們接下來的一個應用。
在執行lein
腳本的時候,模版的名稱要跟在關鍵詞new
的後面,而後再跟上應用的名稱。因此,咱們只須要作下面這一步,而後再等待應用構建完成就能夠了:
lein new compojure-app guestbook
當咱們運行這個應用的時候,咱們能夠看到終端會有以下的輸出,而後終端會打開一個新的瀏覽器窗口來顯示它的主頁:
lein ring server guestbook is starting 2013-07-14 18:21:06.603:INFO:oejs.Server:jetty-7.6.1.v20120215 2013-07-14 18:21:06.639:INFO:oejs.AbstractConnector: StartedSelectChannelConnector@0.0.0.0:3000 Started server on port 3000
如今,你應該知道如何去建立和運行你的應用程序了,咱們來看看怎麼去編輯它。