使用node打造自己的命令行工具方法教程
一、實(shí)現(xiàn)一個(gè)簡(jiǎn)單的功能
二、環(huán)境
1.系統(tǒng): window 10
2.編輯器: vscode
3.node版本: 8.7.0
三、開(kāi)始玩
1.打開(kāi)命令行,新建一個(gè)pa'ckage.json
npm init
這時(shí)看到一個(gè)新的package.json生成了,使用編輯器打開(kāi)
2.修改package.json,新增一個(gè)bin屬性
{ "name": "my-cli", "version": "1.0.0", "description": "", "main": "index.js", "bin": { // 增加bin屬性 "auto": "./bin/cli.js" // 左邊的crp是定義的命令行的名字,可以自己隨便取, 右邊是命令行輸入 crp 時(shí)會(huì)執(zhí)行的文件(一定要在bin文件夾下) }, "scripts": { }, "keywords": [], "author": "", "license": "ISC" }
3.新建一個(gè)cli.js在當(dāng)前的目錄下, 簡(jiǎn)單修改
console.log('hello world')
4.然后轉(zhuǎn)到命令行, 輸入
npm link
5 查看一下效果
正確打印出hello world就是成功了
6.實(shí)現(xiàn)預(yù)覽的效果
原理就是執(zhí)行cli.js的時(shí)候,會(huì)讀取自己設(shè)定好的模板,然后在當(dāng)前的目錄下生成一個(gè)文件,
寫(xiě)入模板的內(nèi)容,簡(jiǎn)單的代碼如下
#! /usr/bin/env node const fs = require('fs') const exec = require('child_process').exec var args = process.argv.slice(2) // 可以通過(guò)process.argv這里獲得你輸入的參數(shù) //讀取內(nèi)容(在當(dāng)前的目錄下新建template文件夾和加入一個(gè)template.vue的模板) var content = fs.readFileSync('./template/template.vue') //生成內(nèi)容 fs.writeFileSync(args[0], content) // 使用vscode打開(kāi) exec('code ' + args[0])
然后放開(kāi)你的腦洞, 你就能組合出許多你自己喜歡的命令來(lái)享受你的工具了
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
node.js對(duì)于數(shù)據(jù)庫(kù)MySQL基本操作實(shí)例總結(jié)【增刪改查】
這篇文章主要介紹了node.js對(duì)于數(shù)據(jù)庫(kù)MySQL基本操作,結(jié)合實(shí)例形式總結(jié)分析了node.js針對(duì)mysql數(shù)據(jù)庫(kù)基本配置、連接與增刪改查相關(guān)操作技巧,需要的朋友可以參考下2023-04-04Node.js API詳解之 querystring用法實(shí)例分析
這篇文章主要介紹了Node.js API詳解之 querystring用法,結(jié)合實(shí)例形式分析了Node.js API中querystring的基本功能、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2020-04-04nodejs個(gè)人博客開(kāi)發(fā)第五步 分配數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了nodejs個(gè)人博客開(kāi)發(fā)的分配數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04express結(jié)合nodejs開(kāi)啟服務(wù)示例模版
這篇文章主要為大家展現(xiàn)了express結(jié)合nodejs開(kāi)啟服務(wù)的代碼示例模版,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04Node.js 實(shí)現(xiàn)搶票小工具 & 短信通知提醒功能
這篇文章主要介紹了Node.js 實(shí)現(xiàn)搶票小工具 & 短信通知提醒功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10Node.js爬蟲(chóng)如何獲取天氣和每日問(wèn)候詳解
這篇文章主要給大家介紹了關(guān)于Node.js爬蟲(chóng)如何獲取天氣和每日問(wèn)候的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Node.js爬蟲(chóng)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08