wordpress經(jīng)典編輯器插件windows優(yōu)化大師提供的
目錄
1. 什么是node_modules
2.?卸載一個(gè)npm包
3. 刪除 node_modules 為什么這么慢
4. rimraf
5. 為什么rimraf 這么快
作為前端開(kāi)發(fā),無(wú)論我們關(guān)注不關(guān)注,每天都能接觸到node_modules。通常產(chǎn)生于一個(gè)npm install命令,之后就不會(huì)多加關(guān)注。只有在卸載的時(shí)候會(huì)發(fā)現(xiàn)刪除整個(gè)node_modules怎么這么慢!
1. 什么是node_modules
node_modules
是一個(gè)特殊的目錄,通常用來(lái)存放項(xiàng)目所依賴(lài)的npm
包及其相關(guān)依賴(lài),以供應(yīng)用程序在運(yùn)行時(shí)動(dòng)態(tài)加載所需的模塊和庫(kù)文件。
當(dāng)使用npm
或者yarn
等包管理工具安裝npm包時(shí),會(huì)將相關(guān)依賴(lài)包下載并保存在項(xiàng)目的node_modules
目錄下,以便于在應(yīng)用程序中引用和使用這些包。
2.?卸載一個(gè)npm包
npm uninstall <package-name>
這個(gè)命令會(huì)卸載指定名稱(chēng)的包及其依賴(lài),并將它們從項(xiàng)目的node_modules目錄中刪除。
3. 刪除 node_modules 為什么這么慢
- 數(shù)量龐大:我們說(shuō)的是數(shù)千個(gè)文件,有時(shí)甚至是數(shù)十萬(wàn)個(gè)文件!穿越這個(gè)數(shù)字叢林需要時(shí)間。
- 文件系統(tǒng)緩存:操作系統(tǒng)會(huì)緩存經(jīng)常訪問(wèn)的文件。刪除大型嵌套結(jié)構(gòu)需要清除緩存,這會(huì)增加延遲。
- 進(jìn)程鎖:如果有東西正在使用 node_modules 中的文件,刪除工作就會(huì)戛然而止。
- 磁盤(pán) I/O 限制:硬盤(pán)和固態(tài)硬盤(pán)都有讀/寫(xiě)速度。特別是老式硬盤(pán),在隨機(jī)存取方面很吃力,因此大量刪除很麻煩。
- 圖形用戶(hù)界面開(kāi)銷(xiāo):圖形文件管理器在處理大量文件操作時(shí),會(huì)因 UI 更新而陷入困境。、
4. rimraf
rimraf 是一款命令行工具,可以快速刪除node_modules
全局安裝
npm install -g rimraf局部安裝
npx rimraf node_modules
執(zhí)行
rimraf node_modules
5. 為什么rimraf 這么快
- 異步操作:與某些一次刪除一個(gè)文件的方法不同,rimraf 在后臺(tái)工作,允許其他進(jìn)程同時(shí)運(yùn)行。
- 遞歸刪除:它能有效深入每個(gè)子文件夾,無(wú)需執(zhí)行多個(gè)命令。
- 強(qiáng)大的錯(cuò)誤處理功能:遇到鎖定文件RIMRAF 會(huì)通過(guò)重試或優(yōu)雅地跳過(guò)有問(wèn)題的文件。
- 跨平臺(tái)一致性:無(wú)論您使用的是 Windows、macOS 還是 Linux,rimraf 都能提供超快的結(jié)果。