NPM配置私服構(gòu)建內(nèi)網(wǎng)中央倉庫過程詳解
寫在前面
目前大部分的項(xiàng)目,基本上都采用了前后端分離的框架。隨著項(xiàng)目的不斷做大做強(qiáng),框架就會變得很龐大。
那么前端的框架,也是會變得不斷的臃腫。不同的模塊項(xiàng)目前端,可能有些公共的方法,都是共用一套的,那一般的做法就是每個模塊都拷貝一份一樣的代碼。
那這樣就會存在問題,如果有公共的方法需要修改,那所有的模塊前端框架都得改,這是一個比較大的問題。
我們的java項(xiàng)目,就可以抽取公共的模塊,使用maven進(jìn)行管理;其實(shí)前端的框架,也是可以抽取公共的模塊,使用npm進(jìn)行管理。
那這里就涉及到公共模塊包,要如何存放的問題了,這里就得有個npm模塊倉庫才行。
那這里就有個問題,我們自己公司開發(fā)得公共模塊,不能夠發(fā)布到外網(wǎng)得中央倉庫吧?這個是會存在安全問題的,所以我們得有自己得一個倉庫。
那這里就我們今天要講得主要內(nèi)容,使用nexus配置出npm私服。
好嘍,廢話不多說了,我們上正菜嘍?。?!
1. 概述
在目前的前端都分離開發(fā)時,我們也會將前端編譯成組件的方式,實(shí)現(xiàn)在項(xiàng)目之間的重用。在很多情況下 我們可以將 組件發(fā)布到 npmjs.org網(wǎng)站,不過這個問題是網(wǎng)速慢是網(wǎng)速慢,同時發(fā)布到外網(wǎng),總會存在一定的安全問題。
有時我們只是在團(tuán)隊(duì)內(nèi)部使用,這樣我們可以部署自己的私服。
nexus 就是一個私服管理的軟件,他支持jar,也支持 npm的私服。
2. 部署nexus
nexus 這個軟件之前是免費(fèi)下載的,現(xiàn)在有商業(yè)版本和免費(fèi)版本。我們可以網(wǎng)絡(luò)上找到這些軟件,建議使用3.22以上的版本。
將tar –xzf *.gz 軟件解壓,然后執(zhí)行命令進(jìn)行啟動。
解壓后我們可以看到:

解壓出了兩個目錄
注意不要使用root 用戶啟動服務(wù),我們可以創(chuàng)建一個用戶
- 添加用戶
useradd nexus- 對目錄進(jìn)行授權(quán)
chown -R nexus:nexus nexus-3.31.1-01 chown -R nexus:nexus sonatype-work chmod -R 744 nexus-3.31.1-01 chmod -R 744 sonatype-work
- 使用nexus 用戶啟動
su nexus cd nexus-3.31.1-01/bin //可以嘗試以下命令啟動 ./nexus run //這個可以看到啟動日志 ./nexus start & //后端啟動
- 開放端口
/sbin/iptables -I INPUT -p tcp --dport 8081 -j ACCEPT
3. 幾個概念
我們可以在私服上創(chuàng)建自己的庫。
庫分為三種類型:
3.1 代理
這種可以代理比如淘寶的鏡像,這個數(shù)據(jù)塊,而且通常能找到我們需要的包。

3.2 本地包
這個意思是,我們可以將私有的包發(fā)送到本地包。這個用于發(fā)布包。

3.3 包分組
這個是將本地包和代理進(jìn)行組合,這個通常用來現(xiàn)在相關(guān)的包,這個用來下載包。

4. 配置NPM包
4.1 配置本地包
創(chuàng)建倉庫

選擇倉庫類型

4.2 配置代理

這里我們配置的是代理淘寶。
4.3 配置包分組

4.4 配置好后我們就可以進(jìn)行發(fā)布和下載
- 配置使用私服
執(zhí)行下面的命令,指定本地倉庫。
npm config set registry http://***:8081/repository/npm_llsydn_hosted/
- 登錄私服
npm login
輸入 nexus 的用戶密碼和有效登錄。

使用私服進(jìn)行安裝
npm install --registry=http://***:8081/repository/npm_llsydn_group/
注意這里使用的是包分組,這個分包組包括了本地和代理的鏡像。
發(fā)布組件包
直接使用 npm publish 進(jìn)行發(fā)布。
4.5 遇到的問題
4.5.1 在登錄的時候遇到的問題
執(zhí)行npm login,輸入正確的密碼后報錯如下:
Unable to authenticate, need: BASIC realm=”Sonatype Nexus Repository Manager”
解決辦法:

4.5.2 登錄報錯
Unable to authenticate, need: BASIC realm=”Sonatype Nexus Repository Manager”
這個錯誤和上面的錯誤看上去是一樣的。
這個錯誤,在其他人的機(jī)器登錄又是可以的,解決辦法 找到文件:.npmrc

可以清空到這個文件,然后再重試就可以了。
以上就是NPM配置私服構(gòu)建內(nèi)網(wǎng)中央倉庫過程詳解的詳細(xì)內(nèi)容,更多關(guān)于NPM配置私服內(nèi)網(wǎng)中央倉庫的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Node.js使用supervisor進(jìn)行開發(fā)中調(diào)試的方法
今天小編就為大家分享一篇關(guān)于Node.js使用supervisor進(jìn)行開發(fā)中調(diào)試的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
Node.js實(shí)現(xiàn)兼容IE789的文件上傳進(jìn)度條
這篇文章給大家介紹了如何實(shí)現(xiàn)兼容IE789的文件上傳進(jìn)度條,如果你的工作用過上傳圖片或上傳大文件啥的,一般在IE低版本瀏覽器里,會切換到用flash解決,可是有些人肯定不會為了老舊IE的進(jìn)度條而去學(xué)flash,那么下面來一起看看吧。2016-09-09
3分鐘快速搭建nodejs本地服務(wù)器方法運(yùn)行測試html/js
本篇文章主要介紹了3分鐘快速搭建nodejs本地服務(wù)器方法運(yùn)行測試html/js,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-04-04
Nodejs使用express 編寫接口的實(shí)現(xiàn)
express是一個第三方模塊,支持豐富的api,本文主要介紹了Nodejs使用express 編寫接口的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06
nodejs?express實(shí)現(xiàn)中間件
2022-10-10

