因?yàn)榭紤]到模塊化励饵,同一代碼規(guī)格肿嘲,并且把統(tǒng)一的模塊抽離出來統(tǒng)一管理,又不希望業(yè)務(wù)代碼散播到npm上,我們需要自己搭建對應(yīng)npm倉庫吓歇。
網(wǎng)上有很多關(guān)于Sinopia的安裝說明孽水,但是從它的git維護(hù)狀態(tài)來看(已經(jīng)停止維護(hù)兩年),短期內(nèi)被大家棄用是顯而易見的事情城看。
最近大家用的比較多的是 nrm + Verdaccio的方案女气。為了方便之后回顧,所以記錄了以下手順析命。
配置工作
- 安裝 nrm
npm install nrm -g
- 安裝Verdaccio
npm install verdaccio -g
- 配置,增加淘寶的代理
uplinks: taobao: ... url: https://registry.npm.taobao.org/ ... packages: ... proxy: taobao
通過以上幾步,前期的準(zhǔn)備工作就完成了逃默,通過下面的命令可以將Verdaccio運(yùn)行起來:
verdaccio
服務(wù)的默認(rèn)WebUI地址為http://localhost:4873鹃愤。
當(dāng)我們有需要上傳的模塊的時(shí)候, 以下是幾個(gè)常用命令:
# 增加登錄用戶
npm adduser --registry http://localhost:4873
# 發(fā)布模塊
npm publish --register http://localhost:4873
# 為nrm增加一個(gè)倉庫路徑
nrm add verdaccio http://localhost:4873
# 通過nrm 切換當(dāng)前倉庫路徑,結(jié)合上一條
nrm use verdaccio
編寫模塊
模塊的定義使用Common JS的模塊定義方式完域。任何lib類型的node項(xiàng)目都可以發(fā)布软吐。
引用模塊
引用前需要使用nrm切換倉庫至本地倉庫:
nrm use verdaccio
然后使用npm安裝后,通過常規(guī)方式引用就可以了:
npm install -S [模塊名]