NodeJS 命令行程序

2018-09-28 20:39 更新

命令行程序

使用 NodeJS 編寫的東西,要么是一個包,要么是一個命令行程序,而前者最終也會用于開發(fā)后者。因此我們在部署代碼時需要一些技巧,讓用戶覺得自己是在使用一個命令行程序。

例如我們用 NodeJS 寫了個程序,可以把命令行參數(shù)原樣打印出來。該程序很簡單,在主模塊內(nèi)實現(xiàn)了所有功能。并且寫好后,我們把該程序部署在 /home/user/bin/node-echo.js 這個位置。為了在任何目錄下都能運行該程序,我們需要使用以下終端命令。

$ node /home/user/bin/node-echo.js Hello World
Hello World

這種使用方式看起來不怎么像是一個命令行程序,下邊的才是我們期望的方式。

$ node-echo Hello World

Linux

在 Linux 系統(tǒng)下,我們可以把 JS 文件當作 shell 腳本來運行,從而達到上述目的,具體步驟如下:

在 shell 腳本中,可以通過#!注釋來指定當前腳本使用的解析器。所以我們首先在 node-echo.js 文件頂部增加以下一行注釋,表明當前腳本使用 NodeJS 解析。

 #! /usr/bin/env node

NodeJS 會忽略掉位于 JS 模塊首行的#!注釋,不必擔心這行注釋是非法語句。

然后,我們使用以下命令賦予 node-echo.js 文件執(zhí)行權限。

 $ chmod +x /home/user/bin/node-echo.js

最后,我們在 PATH 環(huán)境變量中指定的某個目錄下,例如在 /usr/local/bin 下邊創(chuàng)建一個軟鏈文件,文件名與我們希望使用的終端命令同名,命令如下:

 $ sudo ln -s /home/user/bin/node-echo.js /usr/local/bin/node-echo

這樣處理后,我們就可以在任何目錄下使用 node-echo 命令了。

Windows

在 Windows 系統(tǒng)下的做法完全不同,我們得靠.cmd文件來解決問題。假設 node-echo.js 存放在 C:\Users\user\bin 目錄,并且該目錄已經(jīng)添加到 PATH 環(huán)境變量里了。接下來需要在該目錄下新建一個名為 node-echo.cmd 的文件,文件內(nèi)容如下:

@node "C:\User\user\bin\node-echo.js" %*

這樣處理后,我們就可以在任何目錄下使用 node-echo 命令了。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號