前端的生態已經十分繁榮了,隨著需求越來越複雜,前端的應用也越來越大了,為了更好地服務解耦、團隊協作等原因,一般大型前端應用,都會將專案分成幾個服務來維護,而在這些服務中,一般都會存在大量相同元件,特別是ui部分的元件,很顯然這些元件我們不應該在每個服務都copy乙份,這樣如果我要增加或更新某個元件,那麼將會非常痛苦,因此,大部分的做法是將公共元件抽離出來。那麼問題來了,抽離出來我應該放到哪兒呢?放到npm上肯定不合適,這是公司內部的元件,因此,普遍的做法是搭建npm私有倉庫,實現公司內部私有庫,簡單來說,有以下好處:
託管公司內部元件,實現私有化,並且易於管理和更新
直接介紹目前市面上免費的方案
diy npm private regieter
git利用git來進行儲存,在package.json中指定git倉庫的url即可,但是這種做法有以下不足
1)package.json中填寫與本專案無關的git倉庫
2)當git倉庫為private時,需要https或ssh憑據,而且通常我們並沒有每個團隊的許可權。
sinopia
verdaccio的前身,但是目前已經停止維護了
cnpmjs.org
cnpm搭建比較麻煩,檢視git
verdaccio
這也是本文推薦的搭建私有npm倉庫的方案
一台公司內部的伺服器,公司一般申請即可
nodejs 安裝
npm install -g verdaccio
一旦安裝,最需要執行cli即可
可以設定npm登錄檔的資訊$> verdaccio
warn --- config file - /home/.config/verdaccio/config.yaml
warn --- http address - http://localhost:4873/ - verdaccio/4.5.0
建立乙個.npmc的註冊檔案npm
set registry http://localhost:4873/
或者增加乙個配置在package.json中//.npmrc
registry=http://localhost:4873
拉取docker image
}
docker pull verdaccio/verdaccio
使用docker執行verdaccio
最後乙個引數定義了使用哪個映象。如果你沒有拉取映象,上面的code將拉取 dockerhub上 最新的verdaccio的映象docker run -it -d --rm --name verdaccio -p 4873
:4873 verdaccio/verdaccio
可以說用docker搭建是十分簡單的,基本就是執行命令即可
新增賬號
verdaccio允許任何人建立賬號,若沒有配置verdaccio的配置檔案config.yaml
,則預設任何註冊了verdaccio的開發都有publish許可權
// 新增賬號
npm adduser --registry your_address
新增.npmrc
registry=your_address
npm publish
注意每次更新後需要修改version
使用verdaccio 搭建私有npm 伺服器
為什麼要搭建npm 伺服器 原因 公司內部開發的私有包,統一管理,方便開發和使用,自然也可以使用npm 的付費服務,原諒我們的窮 安全性,由於公司內部開發的模組和一些內容並不希望其他無關人員能夠看到,但是又希望內部能方便使用 搭建方法 使用verdaccio verdaccio 是 sinopia ...
搭建私有npm私庫(使用verdaccio)
為什麼要搭建npm 伺服器 原因 公司內部開發的私有包,統一管理,方便開發和使用 安全性,由於公司內部開發的模組和一些內容並不希望其他無關人員能夠看到,但是又希望內部能方便使用 搭建方法 使用verdaccio verdaccio 是 sinopia 開源框架的乙個fork 但是由於sinopia ...
基於verdaccio的npm私有倉庫搭建
npm install global verdaccio verdaccio看到下圖說明啟動成功 此時看到的頁面應該如下 npm adduser registry http localhost 4873首次登陸需要註冊使用者名稱和密碼 這個配置項中有 max users 預設1000,為允許使用者註...