日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
為什么您可能想要使用不止一個Node軟件包管理器?

譯者 | 布加迪

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

審校 | 孫淑娟?

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

軟件包管理器簡介

在軟件開發(fā)領域,依賴項是運行項目所必需的,它們如同食譜配料一樣不可或缺。

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

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

Node預裝軟件包管理器NPM

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

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

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

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

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

Yarn和PNPM比NPM更快

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

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

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

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

使用多個軟件包管理器的優(yōu)點

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

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

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

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

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

使用命令行,您可以指定要為特定項目使用哪個軟件包管理器。在系統上安裝多個軟件包管理器:?

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

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

使用多個軟件包管理器的實例

不妨看看這些用法:?

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

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

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

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

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

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

使用多個軟件包管理器讓事情變得更簡單

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

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

總之,我們認為您應該使用多個軟件包管理器。如果您已經熟悉NPM,這是開始上手Node和學習一些新工具的好方法。如果您還沒有安裝Node,在Windows上安裝其實很簡單。?

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


當前名稱:為什么您可能想要使用不止一個Node軟件包管理器?
URL地址:http://www.dlmjj.cn/article/cogissc.html