W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
使用NodeJS編寫(xiě)的東西,要么是一個(gè)包,要么是一個(gè)命令行程序,而前者最終也會(huì)用于開(kāi)發(fā)后者。因此我們?cè)诓渴鸫a時(shí)需要一些技巧,讓用戶(hù)覺(jué)得自己是在使用一個(gè)命令行程序。
例如我們用NodeJS寫(xiě)了個(gè)程序,可以把命令行參數(shù)原樣打印出來(lái)。該程序很簡(jiǎn)單,在主模塊內(nèi)實(shí)現(xiàn)了所有功能。并且寫(xiě)好后,我們把該程序部署在/home/user/bin/node-echo.js
這個(gè)位置。為了在任何目錄下都能運(yùn)行該程序,我們需要使用以下終端命令。
$ node /home/user/bin/node-echo.js Hello World
Hello World
這種使用方式看起來(lái)不怎么像是一個(gè)命令行程序,下邊的才是我們期望的方式。
$ node-echo Hello World
在Linux系統(tǒng)下,我們可以把JS文件當(dāng)作shell腳本來(lái)運(yùn)行,從而達(dá)到上述目的,具體步驟如下:
在shell腳本中,可以通過(guò)#!
注釋來(lái)指定當(dāng)前腳本使用的解析器。所以我們首先在node-echo.js
文件頂部增加以下一行注釋?zhuān)砻鳟?dāng)前腳本使用NodeJS解析。
#! /usr/bin/env node
NodeJS會(huì)忽略掉位于JS模塊首行的#!
注釋?zhuān)槐負(fù)?dān)心這行注釋是非法語(yǔ)句。
然后,我們使用以下命令賦予node-echo.js
文件執(zhí)行權(quán)限。
$ chmod +x /home/user/bin/node-echo.js
最后,我們?cè)赑ATH環(huán)境變量中指定的某個(gè)目錄下,例如在/usr/local/bin
下邊創(chuàng)建一個(gè)軟鏈文件,文件名與我們希望使用的終端命令同名,命令如下:
$ sudo ln -s /home/user/bin/node-echo.js /usr/local/bin/node-echo
這樣處理后,我們就可以在任何目錄下使用node-echo
命令了。
在Windows系統(tǒng)下的做法完全不同,我們得靠.cmd
文件來(lái)解決問(wèn)題。假設(shè)node-echo.js
存放在C:\Users\user\bin
目錄,并且該目錄已經(jīng)添加到PATH環(huán)境變量里了。接下來(lái)需要在該目錄下新建一個(gè)名為node-echo.cmd
的文件,文件內(nèi)容如下:
@node "C:\User\user\bin\node-echo.js" %*
這樣處理后,我們就可以在任何目錄下使用node-echo
命令了。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: