搭建團(tuán)隊(duì)的私有倉(cāng)庫(kù)犁罩,保證團(tuán)隊(duì)組件的安全維護(hù)和私密性齐蔽,是進(jìn)階前端開(kāi)發(fā)主管路上,必不可少的一項(xiàng)技能昼汗。
一肴熏、原理
我們平時(shí)使用npm publish進(jìn)行發(fā)布時(shí),上傳的倉(cāng)庫(kù)默認(rèn)地址是npm顷窒,通過(guò)Verdaccio工具在本地新建一個(gè)倉(cāng)庫(kù)地址蛙吏,再把本地的默認(rèn)上傳倉(cāng)庫(kù)地址切換到本地倉(cāng)庫(kù)地址即可。當(dāng)npm install時(shí)沒(méi)有找到本地的倉(cāng)庫(kù)鞋吉,則Verdaccio默認(rèn)配置中會(huì)從npm中央倉(cāng)庫(kù)下載鸦做。
二、常用的倉(cāng)庫(kù)地址
- npm : https://registry.npmjs.org/
- cnpm : http://r.cnpmjs.org/
- taobao: https://registry.npm.taobao.org/
三谓着、優(yōu)勢(shì)
- 私密性高泼诱,僅團(tuán)隊(duì)共享。
- 安全性高赊锚,能夠有效的防治惡意代碼攻擊治筒。
- 使用局域網(wǎng)屉栓,傳輸速度快。
四耸袜、準(zhǔn)備環(huán)境
兵馬未動(dòng)友多,糧草先行,既然是搭建私有倉(cāng)庫(kù)應(yīng)用堤框,基礎(chǔ)環(huán)境得備好域滥。
- node
- git
- verdaccio
- nrm(快速切換倉(cāng)庫(kù)源)
- pm2(守護(hù)進(jìn)程)
五、npm常見(jiàn)操作
- 查看當(dāng)前用戶信息
npm who am I
- 查看源地址
npm config list
- 切換源地址
npm set <registry> <url>
- 刪除源地址
npm config rm <registry>
- 登錄
npm login
- 發(fā)布
npm publish
六蜈抓、nrm常見(jiàn)操作
使用這個(gè)就可以快速地在 npm 源間切換启绰,簡(jiǎn)化npm命令操作。
- 安裝
npm install -g nrm
- 查看源地址
nrm ls
- 添加新的源地址
nrm add <registry> <url>
- 切換源地址
nrm use <registry>
- 刪除源地址
nrm del <registry>
七沟使、使用verdaccio搭建私有npm服務(wù)
- 安裝
npm install -g verdaccio
- 運(yùn)行委可。啟動(dòng)時(shí)間會(huì)很久,斷開(kāi)cmd會(huì)關(guān)掉服務(wù)格带,可以使用pm2守護(hù)進(jìn)程即可撤缴。
// 訪問(wèn)http://localhost:4837
verdaccio
- 配置config.yaml,使局域網(wǎng)下能共享訪問(wèn)叽唱,否則只能本機(jī)訪問(wèn)屈呕。
// 最后面添加以下配置
listen: 0.0.0.0:4873
- 重啟,必須重啟電腦配置才能生效棺亭。
- 重新運(yùn)行
// 訪問(wèn)http://ip:port/
// 不要訪問(wèn)本地localhost下的
verdaccio
- 使用nrm新建本地倉(cāng)庫(kù)
nrm add <registry> http://localhost:4873
- 使用nrm切換到本地倉(cāng)庫(kù)
nrm use <registry>
- 使用nrm查看是否新增成功
nrm ls
- 注冊(cè)verdaccio賬號(hào)虎眨,一定要先保證切換到本地的源倉(cāng)庫(kù)的前提下,因?yàn)槟阕?cè)的賬號(hào)是保存在對(duì)應(yīng)倉(cāng)庫(kù)源上的镶摘。
npm adduser
// 輸入賬號(hào)和密碼
- 上傳倉(cāng)庫(kù)
// 登錄
npm login
// 發(fā)布
npm publish
- 訪問(wèn)http://ip:port 進(jìn)行登錄
八嗽桩、效果