搭建腳手架步驟流程:
- 在自己的目錄新建一個(gè)文件夾,命名為
test-hp-cli - 進(jìn)入文件夾,執(zhí)行命令
npm init -y - 根目錄新建bin文件夾,在目錄下新建index.js文件
- 在index.js文件中文件最上方寫入以下代碼
#!/usr/bin/env node
console.log('hello world');
- 在package.json文件中,修改bin字段為
"bin": "bin/index.js" - 執(zhí)行命令
npm link,在全局環(huán)境下創(chuàng)建一個(gè)軟鏈接到當(dāng)前目錄的node_modules文件夾下。這樣就可以在任何地方通過(guò)命令行使用該腳手架了。例如:test-hp-cli hello world - 如果要發(fā)布到npm上,需要先注冊(cè)一個(gè)賬號(hào),然后登錄npm,再執(zhí)行以下命令即可上傳包:
npm publish --access public
發(fā)布npm包的方法:
- 登錄npm賬號(hào):
npm login, 輸入用戶名、密碼和郵箱 - 發(fā)布包失敗,可能是因?yàn)榘呀?jīng)被占用或者不符合npm的命名規(guī)范??梢試L試修改包名為其他名稱,例如將
test-hp-cli改為@test/hp-cli
- npm全局安裝腳手架:
npm install -g test-hp-cli - 執(zhí)行腳手架命令:
test-hp-cli,執(zhí)行失敗提示沒(méi)有這個(gè)命令,檢查package.json中的bin字段是否正確,key值需要和包名一致。例如"test-hp-test": "bin/index.js" - 修改包名后重新發(fā)布,需要更新版本號(hào),否則也會(huì)發(fā)布失敗。例如
npm version patch,然后重新發(fā)布:npm publish
代表執(zhí)行成功的提示信息:
image.png
- 如何安裝遠(yuǎn)程版本,不使用本地的軟鏈接
調(diào)試本地腳手架:
- 進(jìn)入到腳手架目錄執(zhí)行
npm i -g test-hp-cli,查看bin目錄下文件鏈接的路徑可以看出來(lái)是鏈接到本地的 - 執(zhí)行
npm link后,會(huì)在Node_modules中創(chuàng)建一個(gè)test-hp-cli的命令,命令鏈向的是node_modules下的test-hp-cli目錄,node_modules下的test-hp-cli又鏈向本地的hp-test。
未發(fā)布的包如何調(diào)試:
- 進(jìn)入到腳手架目錄執(zhí)行
npm link,此時(shí)會(huì)在全局環(huán)境下創(chuàng)建一個(gè)軟鏈接到當(dāng)前目錄的node_modules文件夾下。這樣就可以在任何地方通過(guò)命令行使用該腳手架了
注冊(cè)命令&參數(shù)解析
process.argv可以獲取到命令行參數(shù),執(zhí)行結(jié)果-
選項(xiàng)和參數(shù)解析
