Why Node.js?
創(chuàng)新互聯(lián)建站專注于龍?zhí)毒W(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供龍?zhí)稜I銷型網(wǎng)站建設(shè),龍?zhí)毒W(wǎng)站制作、龍?zhí)毒W(wǎng)頁設(shè)計(jì)、龍?zhí)毒W(wǎng)站官網(wǎng)定制、微信小程序開發(fā)服務(wù),打造龍?zhí)毒W(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供龍?zhí)毒W(wǎng)站排名全網(wǎng)營銷落地服務(wù)。常用的用來編寫CLI的語言有 python, ruby, perl, Node.js等等。 為什么選取Node.js作為CLI的語言編寫工具呢?有三個(gè)理由:
主要原因還是歸咎于npm 完善的生態(tài),目前npm官方有47.5萬個(gè)三方包可供使用,你可以很方便的使用一些已經(jīng)編寫的很不錯(cuò)的輪子去幫你快速開發(fā)。另一方面,你不需要考慮跨平臺(tái)的安裝問題,比如OSX上的homebrew、Debian的aptitude、CentOS 上的yum。如果使用shell或者其它語言來編寫CLI,需要針對各個(gè)主流OS來做兼容并且發(fā)布到不同的平臺(tái)。
看個(gè)demo
注: 此處的Logo使用的是figlet這個(gè)npm包來幫助生成
npm關(guān)聯(lián)CLI的基本原理
如何讓Node.js編寫的包可執(zhí)行?其實(shí)很簡單,只需要在package.json里面增加一個(gè)bin字段。模塊發(fā)布到npm上后,開發(fā)者安裝這個(gè)包的時(shí)候會(huì)檢查是否有bin字段,如果有bin字段則會(huì)使用軟鏈接的方式創(chuàng)建可以全局使用的命令。
如果模塊采用全局安裝的方式,對于類unix系統(tǒng),會(huì)在/usr/local/bin目錄創(chuàng)建軟鏈接,對于windows系統(tǒng),在C:\Users\username\AppData\Roaming\npm目錄創(chuàng)建軟鏈接。
如果模塊采用局部安裝的方式,則會(huì)在項(xiàng)目內(nèi)的./node_modules/.bin目錄創(chuàng)建軟鏈接。
配置好的package.json如下:
… "description": "A command line tool aims to improve front-end engineer workflow.", "main": "lib/index.js", "bin" : { "feflow" : "./bin/feflow" } …
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。