日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
為什么您可能想要使用不止一個(gè)Node軟件包管理器?

譯者 | 布加迪

二連浩特網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,二連浩特網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為二連浩特上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的二連浩特做網(wǎng)站的公司定做!

審校 | 孫淑娟?

Node最好的特性之一是軟件包管理器。有許多不同的方法來安裝和管理Node軟件包,本文介紹使用一個(gè)或多個(gè)軟件包管理器各自的優(yōu)缺點(diǎn),以及結(jié)合使用軟件包管理器的幾個(gè)最佳方法。?

軟件包管理器簡(jiǎn)介

在軟件開發(fā)領(lǐng)域,依賴項(xiàng)是運(yùn)行項(xiàng)目所必需的,它們?nèi)缤匙V配料一樣不可或缺。

假設(shè)您在編寫一個(gè)使用JavaScript的應(yīng)用程序,它想要訪問來自jQuery庫(許多網(wǎng)站曾經(jīng)使用jQuery庫)的一些函數(shù),那么jQuery將是您的依賴項(xiàng)之一。您需要安裝jQuery,這樣有人訪問您的網(wǎng)站時(shí),可以看到您用它創(chuàng)建的那些很酷的動(dòng)畫或交互元素!

軟件包管理器通過為我們管理依賴項(xiàng)來幫助管理這些項(xiàng)目之間的關(guān)系,所以每當(dāng)我們想要添加或更新內(nèi)容時(shí),不必為自己手動(dòng)下載而操心,它們還確保在安裝后一切都能正常工作、順暢運(yùn)行(這有時(shí)說起來容易做起來難)。?

Node預(yù)裝軟件包管理器NPM

NPM是默認(rèn)的軟件包管理器,因此它被內(nèi)置到Node運(yùn)行時(shí)環(huán)境中。您可以使用NPM直接從GitHub網(wǎng)站或NPM安裝軟件包,也可以將您的軟件包發(fā)布到這個(gè)網(wǎng)站,這樣其他人就可以使用自己版本的NPM來安裝它們。?

NPM不僅僅用于安裝軟件,還可以處理應(yīng)用程序代碼庫中兩個(gè)或多個(gè)所需庫或模塊之間的依賴項(xiàng)解析和版本沖突。?

這意味著,如果在您的服務(wù)器上隨時(shí)有Express之類的多個(gè)版本在運(yùn)行,NPM將確保每個(gè)實(shí)例得到它所需的東西,不會(huì)與從事類似任務(wù)的其他實(shí)例發(fā)生沖突,而且根本不需要您采取任何特殊的操作,只需要在需要時(shí)對(duì)對(duì)象調(diào)用require() !?

NPM是一種功能很強(qiáng)大的工具,很容易上手。但是如果您剛接觸Node和JavaScript,了解哪些工具可供使用以及哪些工具最適合某個(gè)項(xiàng)目可能具有挑戰(zhàn)性。?

NPM的主要問題是,軟件包安裝起來很慢。如果您只是運(yùn)行一兩個(gè)偶爾的腳本,這不是大問題,但如果您試圖構(gòu)建一個(gè)使用數(shù)十個(gè)不同庫和工具的完整應(yīng)用程序,這可能會(huì)讓人備感沮喪。?

Yarn和PNPM比NPM更快

Yarn是可以替代NPM的一種安全可靠的方案,它使用鎖文件來防止意外覆蓋,并確保在安裝軟件包時(shí)正確解析依賴項(xiàng)。?

安裝起來也比NPM快,如果您處理的大型項(xiàng)目涉及擁有眾多依賴項(xiàng)的許多模塊,這點(diǎn)尤其有用。?

PNPM是Yarn和NPM的替代者,但它的人氣還不是很旺,因?yàn)樗鼪]有其中任何一個(gè)的一些功能(比如鎖文件)。然而其開發(fā)人員聲稱,由于具有輕量級(jí)特性,PNPM安裝軟件包的速度比Yarn或NPM快四倍,這也意味著您的計(jì)算機(jī)上少占用磁盤空間!?

如果您在構(gòu)建的項(xiàng)目只需要少量依賴項(xiàng),那么Yarn或NPM可能就足夠了。但是如果您在處理的大型項(xiàng)目涉及許多模塊和依賴項(xiàng),那么PNPM可能是更好的選擇。?

使用多個(gè)軟件包管理器的優(yōu)點(diǎn)

一個(gè)軟件包管理器一次只能處理任何某個(gè)庫的一個(gè)版本。如果您希望為其他項(xiàng)目或不同的環(huán)境(比如生產(chǎn)環(huán)境與開發(fā)環(huán)境)使用同一個(gè)庫的兩個(gè)不同版本,那么需要在系統(tǒng)上安裝兩個(gè)單獨(dú)的軟件包。

如果兩個(gè)軟件包同時(shí)試圖更新相同依賴項(xiàng)的版本,可能導(dǎo)致沖突。使用多個(gè)軟件包管理器意味著您可以更好地控制安裝哪些依賴項(xiàng)以及安裝位置,這有助于避免此類沖突。?

另一個(gè)好處是,使用多個(gè)軟件包管理器時(shí),每個(gè)軟件包管理器都將提供各自獨(dú)特的功能特性。一些軟件包管理器可能更快,一些可能擁有更好的依賴項(xiàng)管理功能,另一些則可能更適合使用某些框架(比如ReactJS或VueJS)開發(fā)應(yīng)用程序。?

最后,使用多個(gè)軟件包管理器可以減少搜索和安裝依賴項(xiàng)所花費(fèi)的時(shí)間,從而幫助提高開發(fā)人員的工作效率,這是由于每個(gè)軟件包管理器在設(shè)計(jì)時(shí)都考慮到針對(duì)一組特定的用例(比如側(cè)重速度、安全或依賴項(xiàng)管理等方面)。?

通過全局安裝,使用多個(gè)軟件包管理器

使用命令行,您可以指定要為特定項(xiàng)目使用哪個(gè)軟件包管理器。在系統(tǒng)上安裝多個(gè)軟件包管理器:?

  • Node預(yù)裝有NPM。這將允許您從命令行安裝其他軟件包及軟件包管理器,并使用NPM管理所有項(xiàng)目的依賴項(xiàng)。如果您想在Webpack等瀏覽器中運(yùn)行NPM腳本,它也很有幫助,因?yàn)闉g覽器并不預(yù)裝NPM !?
  • 使用NPM全局安裝Yarn。這是管理JavaScript項(xiàng)目中依賴項(xiàng)的另一個(gè)常見方法,它較之NPM具有幾個(gè)優(yōu)點(diǎn),可能使它更適合某些類型的項(xiàng)目或團(tuán)隊(duì)。?
  • 最后,安裝PNPM。該軟件包管理器是NPM的分支,旨在更快速、更穩(wěn)定。它還有一些額外的功能,可能對(duì)某些類型的項(xiàng)目很有用,比如支持來自GitHub的依賴項(xiàng)。?

注意,全局安裝意味著所選擇的軟件包可供整個(gè)系統(tǒng)使用(您可以通過命令行在任何地方訪問程序),而本地安裝只能由當(dāng)前工作目錄訪問。?

使用多個(gè)軟件包管理器的實(shí)例

不妨看看這些用法:?

1. Yarn和NPM可以一起使用(比如create-react-app)?

如果您想要充分利用Yarn的速度和效率,同時(shí)仍與NPM軟件包保持兼容性,這種方法非常有用。如果您需要一個(gè)還沒有更新的庫的最新版本與Yarn兼容,或者如果您的團(tuán)隊(duì)因其他原因而寧愿堅(jiān)持使用NPM,盡管速度較慢或功能有限,那么這可能很適合您的項(xiàng)目。這種方法還有助于避免您的單一代碼庫(mono repo)環(huán)境中有兩棵獨(dú)立的依賴樹!?

2. 將Yarn用于全局軟件包,將PNPM用于本地安裝?

雖然PNPM是最快的軟件包管理器,但用于全局安裝的軟件包可能有些棘手。這是由于它使用不同的文件結(jié)構(gòu),可能會(huì)導(dǎo)致與Visual Studio Code等程序之間的兼容問題,這時(shí)候Yarn就有了用武之地。可以將Yarn用于全局安裝的軟件包,將PNPM用于本地安裝。這個(gè)解決方案是集兩個(gè)軟件包管理器的優(yōu)點(diǎn)于一體的好方法,不必大幅改動(dòng)工作流程。有了這種方案,您可以從系統(tǒng)中完全刪除NPM(擁有NPM這個(gè)備份始終是好主意)。?

3.使用PNPM和NPM作為后備?

如果您想使用PNPM,又不想讓所有開發(fā)人員都得學(xué)習(xí)一種新工具,這是一種值得考慮的好選擇。它允許開發(fā)人員繼續(xù)使用NPM,直到他們熟悉PNPM、需要它來完成工作。?

使用多個(gè)軟件包管理器讓事情變得更簡(jiǎn)單

您可以使用多個(gè)軟件包管理器;可以在全局或本地安裝,如果您想指定哪個(gè)軟件包管理器應(yīng)該用于某個(gè)項(xiàng)目,只需使用命令行!?

如果您想在系統(tǒng)上安裝多個(gè)軟件包管理器,確保使用的是同一版本的Node.js。?

總之,我們認(rèn)為您應(yīng)該使用多個(gè)軟件包管理器。如果您已經(jīng)熟悉NPM,這是開始上手Node和學(xué)習(xí)一些新工具的好方法。如果您還沒有安裝Node,在Windows上安裝其實(shí)很簡(jiǎn)單。?

原文標(biāo)題:??Why You’ll Probably Want To Use More Than One Node Package Manager??,作者:Brian Walker


當(dāng)前文章:為什么您可能想要使用不止一個(gè)Node軟件包管理器?
地址分享:http://www.5511xx.com/article/cogissc.html