1.1 安裝CoffeeScript
本文關(guān)鍵詞:深入淺出CoffeeScript,由筆耕文化傳播整理發(fā)布。
> Javascript > 深入淺出CoffeeScript 1.1 安裝CoffeeScript 2013-02-21 11:24:30 我要投稿
本文所屬圖書(shū) > 深入淺出CoffeeScript
CoffeeScript 是一門(mén)新語(yǔ)言,是JavaScript 預(yù)編譯器。由它生成的JavaScript 代碼能兼容所有瀏覽器環(huán)境,可讀性更強(qiáng)、更優(yōu)雅。本書(shū)通過(guò)一個(gè)貫穿全書(shū)的小游戲,從基礎(chǔ)知識(shí)講起,全面透徹地介紹了CoffeeScript,... 立即去當(dāng)當(dāng)網(wǎng)訂購(gòu)
CoffeeScript編譯器是用CoffeeScript寫(xiě)成的,這就產(chǎn)生了一個(gè)先有雞還是先有蛋的問(wèn)題:我們是如何在一個(gè)還沒(méi)裝CoffeeScript編譯器的系統(tǒng)上運(yùn)行編譯器的呢?如果能找到某種方法,在機(jī)器上瀏覽器之外運(yùn)行JavaScript代碼,且允許這些代碼訪問(wèn)本地文件系統(tǒng)就好了……
對(duì),其實(shí)我們有Node.js!大家把Node當(dāng)成一個(gè)JavaScript的Web服務(wù)器(詳見(jiàn)6.1節(jié)),但是它可不止這個(gè)功能。從根本上講,它是JavaScript代碼和操作系統(tǒng)之間的一個(gè)橋梁。Node也有一個(gè)名為npm的很棒的工具,即Node包管理器(Node Package Manager) 。如果你是Ruby程序員,可以將其想象為Node版的RubyGems 。npm已經(jīng)成為安裝管理Node程序和類(lèi)庫(kù)約定俗成的標(biāo)準(zhǔn)了。
本節(jié)的剩余內(nèi)容講述Node和npm的安裝,有了它們,我們就能夠使用CoffeeScript標(biāo)準(zhǔn)的coffee編譯器了(我們?cè)诘?章同樣需要使用Node和npm)。如果你迫不及待地想要實(shí)踐一下的話(huà),可以訪問(wèn),點(diǎn)擊“Try CoffeeScript”按鈕,然后直接跳到下一章去(要在瀏覽器中顯示console輸出,需要某些工具,比如說(shuō)Fire Lite )。
準(zhǔn)備好了?那我們就開(kāi)始吧。
使用Node.js和npm安裝CoffeeScript
盡管有很多不借助Node來(lái)運(yùn)行CoffeeScript代碼的方法(附錄2會(huì)談到其中幾種),然而我還是假定你在全書(shū)中用的是標(biāo)準(zhǔn)的coffee命令,專(zhuān)門(mén)運(yùn)行在Node上的。但是只有在第6章才會(huì)明確需要使用Node和npm。
請(qǐng)注意,使用Windows系統(tǒng)的用戶(hù),在繼續(xù)之前你需要先安裝Cygwin 。Cygwin基本上相當(dāng)于一個(gè)Linux模擬器。雖然Node.js在0.6版本的藍(lán)圖中計(jì)劃直接支持Windows,但是在寫(xiě)作本書(shū)之時(shí),使用Cygwin是現(xiàn)有的最可靠的方法。
Mac用戶(hù)需要安裝Xcode ,重點(diǎn)并不在于這個(gè)程序,而在于那些隨它一起安裝的命令行開(kāi)發(fā)工具。嘗試運(yùn)行命令gcc(GNU編譯器集合)來(lái)檢測(cè)系統(tǒng)中是否已經(jīng)安裝了這些工具:
如果輸出如上所示,那就說(shuō)明準(zhǔn)備就緒了。如果沒(méi)有的話(huà),那么就請(qǐng)安裝Xcode(Mac用戶(hù)),或者直接安裝標(biāo)準(zhǔn)創(chuàng)建工具(Linux或者Cygwin環(huán)境下)。
無(wú)論是什么系統(tǒng)(Linux/Unix/Mac),現(xiàn)在都配置好標(biāo)準(zhǔn)創(chuàng)建工具了吧?太棒了!現(xiàn)在去訪問(wèn),此處列出的安裝方法之多會(huì)讓你眼花繚亂,它們都出自npm的創(chuàng)建者Isaac Schlueter。對(duì)于所有Mac用戶(hù),我推薦使用Homebrew 方法(先安裝Homebrew)。對(duì)于其他系統(tǒng)的用戶(hù),列表中的第一個(gè)選擇則最為直接,也是最好的方式。Node是個(gè)很大的程序包,安裝它需要花幾分鐘。
安裝好Node之后,運(yùn)行最新的npm遠(yuǎn)程安裝腳本:
如果你碰到權(quán)限錯(cuò)誤,可以使用chown 改變Node安裝目錄的屬權(quán)(該方法可以減少很多麻煩),也可用sudo sh 替換普通sh。
無(wú)論選擇哪種方法,都要測(cè)試一下node和npm是否已經(jīng)存在于系統(tǒng)的環(huán)境變量PATH中了:
(簡(jiǎn)單的提一下與版本相關(guān)的事情:Node的版本號(hào)為偶數(shù)時(shí)API保持穩(wěn)定。因此,本書(shū)的例子在最新的0.4.x版本下應(yīng)該運(yùn)行正常。但是Node 0.5.x版則會(huì)以API的變化為重點(diǎn),而這些變化將會(huì)包含到0.6.x穩(wěn)定版中。說(shuō)到npm,本書(shū)中假定你使用的是npm 1.x。因此,如果你還在使用npm 0.x,是時(shí)候升級(jí)了。)
現(xiàn)在抓取最新發(fā)布的CoffeeScript:
參數(shù)-g是--global的縮寫(xiě),它使已安裝好的庫(kù)在全局系統(tǒng)中都可用(默認(rèn)情況下,npm install [package]把指定的程序包安裝到當(dāng)前的子目錄node_module中,這樣便于安裝只適用于特定項(xiàng)目的類(lèi)庫(kù))。只要是安裝那些包含二進(jìn)制可執(zhí)行程序的程序包,我都推薦使用-g參數(shù)。
npm install命令的輸出結(jié)果告訴我們,作為安裝包的一部分,兩個(gè)二進(jìn)制可執(zhí)行程序cake和coffee已安裝好了。讓我們測(cè)試下coffee是否已經(jīng)在系統(tǒng)的PATH 中了:
如果這樣不行,那就看一下npm install輸出結(jié)果中->符號(hào)之前的路徑(例如/usr/local/bin),然后把它添加到系統(tǒng)的PATH中去。如果使用的是Mac默認(rèn)bash終端的話(huà),在你的~/.profile文件中添加下面這行代碼即可:
注意不要遺漏:$PATH這部分,否則/usr/local/bin會(huì)直接替換掉系統(tǒng)的PATH變量,而不是將自己添加到里面!要讓這行代碼生效,需要保存好文件并且開(kāi)啟一個(gè)新的會(huì)話(huà)終端(比方說(shuō),把老的終端關(guān)掉打開(kāi)一個(gè)新的)。
如果使用的是其他系統(tǒng)或終端,步驟可能會(huì)略有不同,可以輸入echo $SHELL搞清楚你使用的是哪個(gè)終端。不要忘了在修改完文件之后重新打開(kāi)會(huì)話(huà)終端,,以便修改生效。
最后一步:就像要想在任何地方都能夠使用二進(jìn)制程序就必須把它們放到PATH中一樣,npm安裝的Node類(lèi)庫(kù)也必須添加到NODE_PATH中。可以輸入如下命令查看Node安裝類(lèi)庫(kù)的位置:
(該命令同時(shí)還列出了npm全局安裝的所有類(lèi)庫(kù)。去掉-g就可以看到安裝在當(dāng)前目錄下的所有類(lèi)庫(kù)。)我們需要把該路徑下的子目錄node_module添加到NODE_PATH中。在筆者的系統(tǒng)中,就是將如下內(nèi)容添加到~/.profile文件中:
同樣,你的系統(tǒng)上需要采取的操作步驟可能會(huì)有所不同。要測(cè)試NODE_PATH是否有效,打開(kāi)一個(gè)新的會(huì)話(huà)終端輸入命令node,即可打開(kāi)Node.js的REPL ——一個(gè)交互式命令運(yùn)行環(huán)境。接著輸入:
我保證,這是本書(shū)中唯一一行你需要輸入的JavaScript代碼!
如果NODE_PATH設(shè)置得不正確,會(huì)看到一個(gè)Error: Cannot find module ‘coffee-script’的錯(cuò)誤提示。如果只是看到一段很長(zhǎng)的對(duì)象描述,那就沒(méi)有問(wèn)題了。完成后,可以輸入process.exit()或者使用 – 來(lái)退出Node的REPL。
順便說(shuō)一下,coffee-script庫(kù)已經(jīng)超出了本書(shū)的范圍;我能說(shuō)的就是,在CoffeeScript或JavaScript程序中,它能讓你把CoffeeScript編譯成JavaScript。你可以基于此做一些非?岬氖虑,比方說(shuō)你可以自己寫(xiě)一個(gè)包含自定義后期處理 的編譯器,或者可以寫(xiě)一個(gè)像Cakefile 那樣的打包腳本。
嘿!我知道安裝過(guò)程似乎花了很多時(shí)間,不過(guò)請(qǐng)相信我,既然我們獲得了為自己所用的Node和npm的全部能力,那付出終將獲得回報(bào),F(xiàn)在讓我們來(lái)配置下編輯環(huán)境吧。
在刀鋒上起舞
如果你一定要用最新的CoffeeScript,這實(shí)際上也非常容易。只需要使用git 把CoffeeScript的代碼倉(cāng)庫(kù) 克隆下來(lái),然后使用npm從本地目錄中安裝它即可:
這將安裝CoffeeScript當(dāng)前的master分支,它多少有點(diǎn)不穩(wěn)定?梢赃\(yùn)行如下命令來(lái)還原到特定版本的CoffeeScript(比如說(shuō)1.1.1):
點(diǎn)擊復(fù)制鏈接 與好友分享!回本站首頁(yè) 您對(duì)本文章有什么意見(jiàn)或著疑問(wèn)嗎?請(qǐng)到論壇討論您的關(guān)注和建議是我們前行的參考和動(dòng)力 上一篇:概述 下一篇:1.2 CoffeeScript編輯器 相關(guān)文章1.1 Node.js 是什么
1.1 值
1.1.1 數(shù)字
1.1.2 算術(shù)
1.1.3 字符串
1.1.4 一元操作符
1.1.5 布爾值、比較和布爾邏輯
1.1.6 表達(dá)式與語(yǔ)句
2.1.1 定義順序
1.1 認(rèn)識(shí)Sencha Touch
圖文推薦本文關(guān)鍵詞:深入淺出CoffeeScript,由筆耕文化傳播整理發(fā)布。
本文編號(hào):94891
本文鏈接:http://sikaile.net/wenshubaike/mishujinen/94891.html