摘要:命令行工具開發使用開發命令行工具是開發者應該掌握的一項技能,適當編寫命令行工具以提高開發效率。創建命令創建一個的命令,當用戶輸入時,終端顯示。修改文件內容添加命令在目錄下新建文件執行命令解析輸入信息我們希望是由用戶輸入的,終端應該顯示為。
Node.js命令行工具開發
使用Node.js開發命令行工具是開發者應該掌握的一項技能,適當編寫命令行工具以提高開發效率。
hello world老規矩第一個程序為hello world。在工程中新建bin目錄,在該目錄下創建名為helper的文件,具體內容如下:
#!/usr/bin/env node console.log("hello world");
修改helper文件的權限:
$ chmod 755 ./bin/helper
執行helper文件,終端將會顯示hello world:
$ ./bin/helper hello world符號鏈接
接下來我們創建一個符號鏈接,在全局的node_modules目錄之中,生成一個符號鏈接,指向模塊的本地目錄,使我們可以直接使用helper命令。
在工程的package.json文件中添加bin字段:
{ "name": "helper", "bin": { "helper": "bin/helper" } }
在當前工程目錄下執行npm link命令,為當前模塊創建一個符號鏈接:
$ npm link /node_path/bin/helper -> /node_path/lib/node_modules/myModule/bin/helper /node_path/lib/node_modules/myModule -> /Users/ipluser/myModule
現在我們可以直接使用helper命令:
$ helper hello worldcommander模塊
為了更高效的編寫命令行工具,我們使用TJ大神的commander模塊。
$ npm install --save commander
helper文件內容修改為:
#!/usr/bin/env node var program = require("commander"); program .version("1.0.0") .parse(process.argv);
執行helper -h和helper -V命令:
$ helper -h Usage: helper [options] Options: -h, --help output usage information -V, --version output the version number $ helper -V 1.0.0
commander模塊提供-h, --help和-V, --version兩個內置命令。
創建命令創建一個helper hello
#!/usr/bin/env node var program = require("commander"); program .version("1.0.0") .usage("[options]") .command("hello", "hello the author") // 添加hello命令 .parse(process.argv);
在bin目錄下新建helper-hello文件:
#!/usr/bin/env node console.log("hello author");
執行helper hello命令:
$ helper hello ipluser hello author解析輸入信息
我們希望author是由用戶輸入的,終端應該顯示為hello ipluser。修改helper-hello文件內容,解析用戶輸入信息:
#!/usr/bin/env node var program = require("commander"); program.parse(process.argv); const author = program.args[0]; console.log("hello", author);
再執行helper hello ipluser命令:
$ helper hello ipluser hello ipluser
哦耶,終于達到完成了,但作為程序員,這還遠遠不夠。當用戶沒有輸入author時,我們希望終端能提醒用戶輸入信息。
提示信息在helper-hello文件中添加提示信息:
#!/usr/bin/env node var program = require("commander"); program.usage(""); // 用戶輸入`helper hello -h`或`helper hello --helper`時,顯示命令使用例子 program.on("--help", function() { console.log(" Examples:"); console.log(" $ helper hello ipluser"); console.log(); }); program.parse(process.argv); (program.args.length < 1) && program.help(); // 用戶沒有輸入信息時,調用`help`方法顯示幫助信息 const author = program.args[0]; console.log("hello", author);
執行helper hello或helper hello -h命令,終端將會顯示幫助信息:
$ helper hello Usage: helper-helloOptions: -h, --help output usage information Examples: $ helper hello ipluser $ helper hello -h Usage: helper-hello Options: -h, --help output usage information Examples: $ helper hello ipluser
到此我們編寫了一個helper命令行工具,并且具有helper hello
更多的使用方式可以參考TJ - commander.js文檔。
npm link
ruanyifeng
commander.js
TJ
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/87841.html
摘要:自阮大神的文章發布以來,有了一些改動,添加有很多有用的功能,特別是這個功能,對打造命令行工具集合非常有用,所以寫一個新版本的教程還是有必要的。 前言 使用命令行程序對程序員來說很常見,就算是前端工程師或者開發gui的,也需要使用命令行來編譯程序或者打包程序 熟練使用命令行工具能極大的提高開發效率,linux自帶的命令行工具都非常的有用,但是這些工具都是按照通用需求開發出來的,如果有一些...
摘要:命令行工具開發有許多命令行工具。現在我們就用來開發一個實用的命令行小工具一初探一個最簡單的命令行工具首先我們新建一目錄,然后執行生成文件新建一目錄并在目錄下創建一個執行我們可以看到終端輸出。。 node命令行工具開發 NodeJs有許多命令行工具。它們全局安裝,并提供一個命令供我們使用,完成相應的功能。 現在我們就用node來開發一個實用的命令行小工具 一.初探 一個最簡單的命令行工具...
摘要:我們的小項目就初始化成功了,就可以認真思考代碼了首先分析糗事百科我們打開糗事百科會發現它的還是很簡單,由于我們只是爬取段子所以如下,就是頁數。 Node命令行工具開發【看段子】 你有沒有上班想看笑話卻又怕領導發現的經歷?現在我們就用幾十行代碼寫一個命令行看笑話段子的小程序,從此無需擔心領導的視察。這篇文章和上一篇差不多都是命令行小工具開發,不過本篇更偏向于小爬蟲的開發 總覽:命令行看段...
摘要:相信熟悉系統的,對于一些等命令用起來應該愛不釋手,這也是我想要開發一個便捷命令行的初衷,其次就是記錄一個完整開源小玩具的全過程。 背景 命令行工具對于我們來說非常的熟悉,一些命令行的操作也極大的簡化了我們的日常工作。本文就基于我寫的一個Node命令行代碼計數器來進行展開。 相信熟悉linux系統的,對于一些ps,grep,cp,mv…等命令用起來應該愛不釋手,這也是我想要開發一個便捷命...
摘要:我一直是印象筆記的用戶,但是苦于它一直不支持語法,于是就開發了一個簡單的命令行工具,可以將筆記發布到印象筆記。比如我為了實現印象筆記的列表,就寫了一個小插件。 我一直是印象筆記的用戶,但是苦于它一直不支持 markdown 語法,于是就開發了一個簡單的命令行工具 evermark,可以將 markdown 筆記發布到印象筆記。 GitHub 地址:https://github.com/...
閱讀 1967·2021-11-22 15:33
閱讀 3005·2021-11-18 10:02
閱讀 2612·2021-11-08 13:16
閱讀 1623·2021-10-09 09:57
閱讀 1372·2021-09-30 09:47
閱讀 2008·2019-08-29 13:05
閱讀 3071·2019-08-29 12:46
閱讀 1010·2019-08-29 12:19