node的其他包

2021-10-07 12:46:50 字數 1352 閱讀 3287

為解決國內使用者連線npm registry緩慢的問題,**搭建了自己的registry,即**npm映象源

過去,npm沒有提供修改registry的功能,因此,**提供了乙個cli工具即cnpm,它支援除了npm publish以外的所有命令,只不過連線的是**映象源

如今,npm已經支援修改registry了,可能cnpm唯一的作用就是和npm共存,即如果要使用官方源,則使用npm,如果使用**源,則使用cnpm

nvm並非包管理器,它是用於管理多個node版本的工具

在實際的開發中,可能會出現多個專案分別使用的是不同的node版本,在這種場景下,管理不同的node版本就顯得尤為重要

nvm就是用於切換版本的乙個工具

nvm提供了cli工具,用於管理node版本

在終端中輸入nvm,以檢視各種可用命令

從結果上來看,它具有以下優勢:

目前,安裝效率高於npm和yarn的最新版

極其簡潔的node_modules目錄

避免了開發時使用間接依賴的問題

能極大的降低磁碟空間的占用

全域性安裝pnpm

npm

install -g pnpm

之後在使用時,只需要把npm替換為pnpm即可

如果要執行安裝在本地的cli,可以使用pnpx,它和 npx 的功能完全一樣,唯一不同的是,在使用pnpx執行乙個需要安裝的命令時,會使用pnpm進行安裝

比如npx mocha執行本地的mocha命令時,如果mocha沒有安裝,則npx會自動的、臨時的安裝mocha,安裝好後,自動執行mocha命令

同 yarn 和 npm 一樣,pnpm 仍然使用快取來儲存已經安裝過的包,以及使用 pnpm-lock.yaml 來記錄詳細的依賴版本

不同於 yarn 和 npm, pnpm 使用符號鏈結和硬鏈結(可將它們想象成快捷方式)的做法來放置依賴,從而規避了從快取中拷貝檔案的時間,使得安裝和解除安裝的速度更快

由於使用了符號鏈結和硬鏈結,pnpm可以規避windows作業系統路徑過長的問題,因此,它選擇使用樹形的依賴結果,有著幾乎完美的依賴管理。也因為如此,專案中只能使用直接依賴,而不能使用間接依賴

由於 pnpm 會改動 node_modules 目錄結構,使得每個包只能使用直接依賴,而不能使用間接依賴,因此,如果使用 pnpm 安裝的包中包含間接依賴,則會出現問題(現在不會了,除非使用了絕對路徑)

由於 pnpm 超高的安裝解除安裝效率,越來越多的包開始修正之前的間接依賴**

測試本地node包

subject 測試本地node包 author leinov date 2018 10 25 project xcxutil進入專案目錄,按照相對路徑找到xcxutil包,直接安裝。npm install xcxutil const xcxutil require xcxutil 上面的情況是no...

node 12 模組系統 其他成員

main.js var fooexports require foo referenceerror foo is not defined console.log foo 這種方式匯出的都是物件 console.log fooexports foo.js var foo bar function ad...

node拼接udp請求包

標籤 nodejs udp tcp buffer 1byte代表的是乙個位元組,是檔案儲存的最小單位。在基本檔案單位中,我們有以下的等價關係。1m 1024 k,1k 1024 byte。1bit代表則是乙個binary digit 二進位制數字 說人話,就是1010101中的乙個1或者0。在tcp...