前言
?書接上一回,在了解cljs基本語法后并在clojurescript.net的奇特錯誤提示后,我們必須痛定思痛地搭建一個本地的開發(fā)環(huán)境,以便后續(xù)深入地學(xué)習(xí)cljs。
現(xiàn)有的構(gòu)建工具
?由于瀏覽器僅能運(yùn)行JS,而無法直接運(yùn)行cljs,因此我們需要搭建一個預(yù)編譯環(huán)境將cljs編譯成JS后再在瀏覽器中運(yùn)行。預(yù)編譯無非就是JVM和Nodejs兩個環(huán)境,但具體使用時有如下幾種構(gòu)建工具。
直接JVM編譯
Lein方案
Boot方案
Lumo方案
Shadow-cljs方案
cljs/tool方案
?其中Lein和Boot都是基于JVM編譯環(huán)境,只是上層的構(gòu)建方式有所不同,而Lein除了用于構(gòu)建cljs外還用于構(gòu)建clj;而Boot則專注于構(gòu)建cljs。
?Lumo則是基于Nodejs編譯環(huán)境。
?Shadow-cljs則是node-jre,就是用node模塊管理的jvm。
?由于我們只需搭建一個剛好可用的開發(fā)環(huán)境即可,因此下面只介紹方案1。
搭建一個最基礎(chǔ)的——直接JVM編譯
下載依賴
Jdk8.0+
創(chuàng)建工程
# 在家目錄下創(chuàng)建工程目錄$ mkdir -p ~/hello_world/src/hello_world/# 復(fù)制cljs.jar文件到工程目錄下$ cp ~/cljs.jar ~/hello_world/# 創(chuàng)建項(xiàng)目配置文件$ touch ~/hello_world/build.clj# 創(chuàng)建源碼文件$ touch ~/hello_world/src/hello_world/core.cljs# 創(chuàng)建HTML文件$ touch ~/hello_world/index.html
在build.clj
文件中輸入
網(wǎng)友評論