些工具都是用于管理 Node.js 包和依賴項(xiàng)的
-
npm (Node Package Manager):
- npm 是 Node.js 的默認(rèn)包管理工具,隨同 Node.js 安裝。
- 主要功能包括安裝、發(fā)布、管理 JavaScript 包和依賴項(xiàng)。
- npm 是最常用的包管理工具之一,擁有龐大的包倉庫(npm Registry)。
-
npx:
- npx 是 npm 5.2.0 版本引入的一個工具,用于在不全局安裝包的情況下運(yùn)行本地安裝的包。
- 通過 npx,開發(fā)者可以直接運(yùn)行項(xiàng)目依賴項(xiàng)中的命令,而不需要全局安裝這些包。
- npx 還可以用于執(zhí)行來自 npm 倉庫的命令,而不需要安裝對應(yīng)的包。
- 關(guān)于 npx 的原理
-
Yarn:
- Yarn 是 Facebook 開發(fā)的另一個包管理工具,旨在提高性能和安全性。
- Yarn 使用并行下載的機(jī)制,可以更快地安裝依賴項(xiàng)。
- Yarn 使用鎖文件(yarn.lock)來確保依賴項(xiàng)的版本一致性,但是子依賴版本不是固定的
- Yarn 的緩存機(jī)制可以提高重復(fù)安裝相同依賴的速度。
- 扁平化安裝【npm2 沒有扁平化,npm3才開始實(shí)現(xiàn)扁平化】
-
cnpm:
- cnpm 是淘寶團(tuán)隊(duì)提供的 npm 鏡像,用于加速 npm 安裝包的速度。
- cnpm 安裝包的命令和 npm 類似,但使用的是淘寶的鏡像源。
-
pnpm:文章來源:http://www.zghlxwxcb.cn/news/detail-829138.html
- pnpm 是另一個包管理工具,它與 npm 和 Yarn 的主要區(qū)別在于它使用了符號鏈接而不是復(fù)制依賴項(xiàng)。
-
符號鏈接(Symbolic Link,簡稱為symlink)是一種特殊的文件類型,用于在文件系統(tǒng)中創(chuàng)建一個指向另一個文件或目錄的鏈接。它可以簡單地理解為一個指針或快捷方式,它指向了另一個文件或目錄,使得操作系統(tǒng)在訪問符號鏈接時會自動轉(zhuǎn)向?qū)嶋H的文件或目錄。文章來源地址http://www.zghlxwxcb.cn/news/detail-829138.html
- 符號鏈接機(jī)制:在安裝一個包時,不會直接將包的文件復(fù)制到項(xiàng)目的 node_modules 目錄中,而是創(chuàng)建一個符號鏈接指向該包的實(shí)際安裝目錄
- 節(jié)省空間:不需要復(fù)制
- 減少重復(fù):相同依賴項(xiàng)只安裝一次,并且可以在不同項(xiàng)目之間共享
- 方便更新:如果一個包的版本發(fā)生了變化,只需要更新一次改包
- 保持一致性:符號鏈接確保了項(xiàng)目中依賴項(xiàng)的一致性
-
- pnpm 的主要優(yōu)點(diǎn)是減少了磁盤空間的占用和依賴項(xiàng)的重復(fù)安裝。
- 支持并行安裝依賴
- 使用智能的緩存機(jī)制來存儲以來分項(xiàng),只有在依賴項(xiàng)的版本發(fā)生變化時才會重新下載。
- pnpm 是另一個包管理工具,它與 npm 和 Yarn 的主要區(qū)別在于它使用了符號鏈接而不是復(fù)制依賴項(xiàng)。
到了這里,關(guān)于前端 node 常見的包管理工具 npm、npx、Yarn、cnpm、pnpm 的區(qū)別有哪些的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!