在團(tuán)隊(duì)越來越大之后,我們可能需要在公司內(nèi)部維護(hù)npm的包(畢竟有些代碼是不能開源的),首先需要在公司內(nèi)部署Sinopia這樣的私有包管理工具,然后就可以愉快地往上面提交npm包了。
但是問題來了,我們在項(xiàng)目中安裝內(nèi)部包需要使用以下命令:
npm install *** --registry=https://your.name.com
如果我們把依賴放到package.json
中叶撒,使用npm install
的時候就很麻煩了,安裝會報(bào)錯耐版,因?yàn)檎也坏絻?nèi)部包祠够。
Error: Cannot find module '********'
怎么辦?還好npm支持scope
的概念粪牲,就是允許你創(chuàng)建一個scope的包古瓤,為scope中包單獨(dú)指定npm的registry。我們看看具體要怎么搞吧腺阳÷渚可以閱讀一下官網(wǎng)文檔中的描述:https://docs.npmjs.com/misc/scope
步驟一:重新命名npm包,并重新發(fā)布
重新命名包為@myorg/name
其中myorg
就是你的公司名或者你喜歡的名字。然后npm publish
;
步驟二:重新配置npm config
npm 的配置一般都存放在~/.npmrc
(如果使用windows,那就自己去找吧)绢涡,首先我們可以配置主要的registry的,一般我都喜歡用淘寶的鏡像:
npm config set registry https://registry.npm.taobao.org
然后設(shè)置安裝內(nèi)部包的規(guī)則:
npm config set @myorg:registry https://your.name.com
步驟三:不需要步驟三啦!!!!!!!!
約定好規(guī)則就可以愉快地管理公司內(nèi)部的npm包了纹冤。
如果僅僅希望在項(xiàng)目中引入公司內(nèi)部私有包,也可以在項(xiàng)目根目錄添加.npmrc文件购公,在文件中添加
@myorg:registry=https://your.name.com