Node命令行工具:學(xué)習(xí)篇

學(xué)習(xí)寫一個簡單的Node命令行工具(寫給自己看的??)

  • 1 創(chuàng)建一個js文件 vi fed.js, 并且寫入console.log('這是我的命令行工具哦');
  • 2 添加linux腳本的運(yùn)行環(huán)境,繼續(xù)vi fed.js, 然后在文件的最上面一行添加#!/usr/bin/env node來告訴shell工具這個文件需要用nodejs來運(yùn)行,以后執(zhí)行運(yùn)行該文件就可以默認(rèn)采用node環(huán)境來運(yùn)行該文件了。
  • 3 為該文件添加 可執(zhí)行 的權(quán)限,命令行輸入chmod +x fed.js, 這樣以后可以直接在命令行工具上找到fed.js的文件位置并且可以直接運(yùn)行./fed.js,就可以打印出之前的console.log了,如果沒有添加可執(zhí)行的權(quán)限是不行的哦
  • 4 剛才運(yùn)行的時候還是加了相對路徑./fed.js的命令才運(yùn)行起來的,這樣顯然太麻煩,所以可以加入環(huán)境變量,那么不管在什么地方都可以直接運(yùn)行了,首先查看已有的環(huán)境變量echo $PATH
  • 5 為fed.js創(chuàng)建一個全局變量的鏈接, ln ./fed.js /usr/local/bin/fed, 相當(dāng)于在全局的環(huán)境變量下創(chuàng)建了一個fed的變量并且鏈接到fed.js,現(xiàn)在就可以直接輸入fed來運(yùn)行之前的fed.js

不足之處

  • 上面生成的命令變量,如果依賴了node_module的包就找不到依賴了,所以就要借助npm來生成環(huán)境變量了
  • 刪除剛才的全局變量rm 'which fed', 然后npm init,一路回車,在package.json里面寫上bin: { 'fed': './fed.js' }創(chuàng)建一個連接
  • 最后在命令行關(guān)聯(lián), npm link即可,再試試fed就成功了
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Node.js是目前非?;馃岬募夹g(shù),但是它的誕生經(jīng)歷卻很奇特。 眾所周知,在Netscape設(shè)計出JavaScri...
    w_zhuan閱讀 3,731評論 2 41
  • JavaScript 模塊化編程 網(wǎng)站越來越復(fù)雜,js代碼、js文件也越來越多,會遇到什么問題? 命名沖突; 文件...
    magic_pill閱讀 1,584評論 0 1
  • 什么是 NPM npm之于Node,就像pip之于Python,gem之于Ruby,composer之于PHP。 ...
    ihoey閱讀 6,366評論 2 36
  • Node.js是目前非常火熱的技術(shù),但是它的誕生經(jīng)歷卻很奇特。 眾所周知,在Netscape設(shè)計出JavaScri...
    Myselfyan閱讀 4,203評論 2 58
  • 關(guān)注戰(zhàn)隼(warfalcon)的公眾號,已經(jīng)有一年多的時間。戰(zhàn)隼老師是真正用好習(xí)慣和堅持改變自己的榜樣。我偶爾會在...
    AAAAA蕙質(zhì)蘭心閱讀 474評論 0 0

友情鏈接更多精彩內(nèi)容