最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

npm設(shè)置同時從多個包源加載包的方法

 更新時間:2021年09月14日 09:11:24   作者:chenxin.dm  
本文主要介紹了npm 設(shè)置同時從多個包源加載包的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

隨著前后端分離技術(shù)的發(fā)展成熟,越來越來越多的后臺系統(tǒng)甚至前端系統(tǒng)采用前后端分離方式,在大型前后端分離系統(tǒng)中,前端往往包含大量的第三方j(luò)s 包的引用,各個第三方包又可能依賴另外一個第三方包,因此急需要一個用于管理項目包之間的依賴關(guān)系的一個工具,此時npm就出現(xiàn)了,npm 通常隨nodejs 安裝的時候一起安裝。

項目上經(jīng)常會出現(xiàn)這么一種情況,就是有一些js包可能是公司內(nèi)部封裝的,而這些包又可能涉及到了一些私密信息,不能被上傳到npm的公共倉儲上去,那么此時一個好的辦法就是將這些公司內(nèi)部封裝的js 包放到公司內(nèi)部搭建的倉儲上去,這樣就可以保證安全性,通常我們可以通過安裝 verdaccio來搭建公司內(nèi)部的npm包倉儲源,在搭建完畢后,我們將我們公司內(nèi)部封裝的js包上創(chuàng)到公司內(nèi)部的私有倉儲源中,然后再設(shè)置npm初始化加載包時從多個倉儲源查找包,從而實現(xiàn)npm同時從多個倉儲源加載包的功能。

一、搭建本地倉儲

首先輸入命令:

npm install -g verdaccio --save

來安裝用于搭建私有npm包倉儲的工具,注意:需要先安裝nodejs才能執(zhí)行此命令。

安裝成功后,如下圖所示:

安裝成功后,如果是在windows 系統(tǒng)上,那么可以在%APPDATA%/Roaming/verdaccio 目錄下找到verdaccio的配置文件:config.yaml,同時可以在命令行窗口中

輸入verdaccio 命令來啟動verdaccio,啟動成功后,瀏覽器中輸入:http://127.0.0.1:4873/ 可以看到如下效果:

因為目前我們還沒有上傳任何私有包到上面,因此顯示空列表,下面講解如何發(fā)布私有包到verdaccio.

二、創(chuàng)建npm包,并上傳到私有倉儲

首先我們創(chuàng)建一個測試的npm包,然后上傳到私有倉儲上去。

使用 npm init 命令來創(chuàng)建一個包。

創(chuàng)建成功后,我們打開Test目錄,我們可以看到生成了一個package.json的文件,打開新增publishConfig節(jié)點,表示將此包發(fā)布到http://127.0.0.1:4873這個地址:

{
  "name": "@mylib/test",
  "version": "1.0.0",
  "description": "npm 本地包",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "測試"
  ],
  "author": "chenxin",
  "license": "ISC",
  "publishConfig": {
    "registry": "http://127.0.0.1:4873"
  }
}

在package.json所在目錄下新建index.js 文件,因為上面的main屬性中指定的是index.js作為包的入口執(zhí)行文件,因此名稱必須命名為:index.js

因為我們在verdaccio 配置文件中指定的是發(fā)布和取消發(fā)布包需要登錄,因此我們輸入以下命令注冊一個用戶。

以上表示注冊成功,并且已經(jīng)登錄,因為當(dāng)前目錄剛好處于@mylib/test包的package.json文件所在的目錄,并且package.json文件中已經(jīng)指定了該包要發(fā)布到的倉儲地址,因此我們可以直接使用npm publish 命令發(fā)布@mylib/test包到私有倉儲上去,發(fā)布成功后如下圖所示:

三、設(shè)置npm 安裝包時從多個倉儲源查找

通過輸入命令:

npm config set @mylib:registry=http://127.0.0.1:4873

以上命令告訴npm ,當(dāng)遇到包名為@mylib開頭的包時全部從http://127.0.0.1:4873這個地址加載。

四、測試npm是否能同時從多個倉儲源加載包

輸入命令:npm init 創(chuàng)建一個項目的package.json 文件

分別輸入以下兩條命令安裝jquery 包 和 @mylib/test 包,其中jquery包時外部倉儲源中加載的。

npm install jquery --save
npm install @mylib/test --save

此時可以看到node_modules 中已經(jīng)包含上面安裝的這兩個包

package.json 中也包含了以上兩個包的依賴

{
  "name": "testproject",
  "version": "1.0.0",
  "description": "測試項目",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "測試"
  ],
  "author": "chenxin",
  "license": "ISC",
  "dependencies": {
    "@mylib/test": "^1.0.0",
    "jquery": "^3.6.0"
  }
}

這個時候,我們再刪除:node_modules 目錄,然后命令行輸入(該命令要在package.json所在目錄下執(zhí)行):

npm init

觀察node_modules 目錄是否重新生成,并且包含package.json中包含的兩個包,如果都包含,則表示npm 已經(jīng)同時支持從多個倉儲源加載包了

到此這篇關(guān)于npm 設(shè)置同時從多個包源加載包的方法的文章就介紹到這了,更多相關(guān)npm 設(shè)置同時從多個包源加載包的方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Koa(nodejs框架)對json文件進(jìn)行增刪改查的示例代碼

    基于Koa(nodejs框架)對json文件進(jìn)行增刪改查的示例代碼

    這篇文章主要介紹了基于Koa(nodejs框架)對json文件進(jìn)行增刪改查的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • Node.js連接postgreSQL并進(jìn)行數(shù)據(jù)操作

    Node.js連接postgreSQL并進(jìn)行數(shù)據(jù)操作

    自從MySQL被Oracle收購以后,PostgreSQL逐漸成為開源關(guān)系型數(shù)據(jù)庫的首選。這篇文章就給大家介紹了關(guān)于Node.js如何連接postgreSQL數(shù)據(jù)庫,并進(jìn)行數(shù)據(jù)操作的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • 利用python分析access日志的方法

    利用python分析access日志的方法

    最近在自學(xué)python,光看是不行的,還是要多實操的。這就是一個寫給自己的小小工具。主要功能是,便利日志文件夾下的文件,根據(jù)設(shè)定的關(guān)鍵字查找是否有web攻擊行為。有需要的朋友們下面來一起看看吧。
    2016-10-10
  • Node連接mysql數(shù)據(jù)庫方法介紹

    Node連接mysql數(shù)據(jù)庫方法介紹

    本篇文章主要介紹了Node連接mysql數(shù)據(jù)庫方法介紹。詳細(xì)的介紹了怎樣連接和操作數(shù)據(jù)庫,并舉例說明,有興趣的可以了解一下。
    2017-02-02
  • Centos7 中 Node.js安裝簡單方法

    Centos7 中 Node.js安裝簡單方法

    這篇文章主要介紹了Centos7 中 Node.js安裝簡單方法,非常不錯具有一定的參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • Nodejs高擴(kuò)展性的模板引擎 functmpl簡介

    Nodejs高擴(kuò)展性的模板引擎 functmpl簡介

    本文給大家分享的是一款nodejs高擴(kuò)展性的模板引擎functmpl的簡單介紹以及用法詳解,有需要的小伙伴可以參考下
    2017-02-02
  • Node 切片拼接及地圖導(dǎo)出實例詳解

    Node 切片拼接及地圖導(dǎo)出實例詳解

    這篇文章主要為大家介紹了Node 切片拼接及地圖導(dǎo)出實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Nodejs Post請求報socket hang up錯誤的解決辦法

    Nodejs Post請求報socket hang up錯誤的解決辦法

    這篇文章主要介紹了Nodejs Post請求報socket hang up錯誤的解決辦法,本文因少加了headers字段信息導(dǎo)致出現(xiàn)這個錯誤,本文給出了一個完整的實現(xiàn)代碼,需要的朋友可以參考下
    2014-09-09
  • Node.js中module.exports?和exports使用誤區(qū)

    Node.js中module.exports?和exports使用誤區(qū)

    本文主要介紹了Node.js中module.exports?和exports使用誤區(qū),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • nodejs中的express-jwt的使用解讀

    nodejs中的express-jwt的使用解讀

    這篇文章主要介紹了nodejs中的express-jwt的使用解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04

最新評論

泌阳县| 晋宁县| 莱芜市| 石柱| 嘉黎县| 武义县| 普兰店市| 剑阁县| 宁晋县| 滦南县| 林西县| 定西市| 桂东县| 正安县| 运城市| 新和县| 白沙| 汕尾市| 龙州县| 竹山县| 奉贤区| 三江| 海南省| 中阳县| 贵溪市| 江安县| 丰都县| 海丰县| 太和县| 鸡东县| 吉木萨尔县| 仙游县| 玛纳斯县| 游戏| 塔城市| 仁布县| 阜新市| 柳江县| 时尚| 永和县| 扶风县|