前言
?書接上一回,在了解cljs基本語法后并在clojurescript.net的奇特錯(cuò)誤提示后,我們必須痛定思痛地搭建一個(gè)本地的開發(fā)環(huán)境,以便后續(xù)深入地學(xué)習(xí)cljs。
現(xiàn)有的構(gòu)建工具
?由于瀏覽器僅能運(yùn)行JS,而無法直接運(yùn)行cljs,因此我們需要搭建一個(gè)預(yù)編譯環(huán)境將cljs編譯成JS后再在瀏覽器中運(yùn)行。預(yù)編譯無非就是JVM和Nodejs兩個(gè)環(huán)境,但具體使用時(shí)有如下幾種構(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。
?由于我們只需搭建一個(gè)剛好可用的開發(fā)環(huán)境即可,因此下面只介紹方案1。
搭建一個(gè)最基礎(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
文件中輸入
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26