偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Node_modules 是該好好治一治了

開發(fā) 前端
作為前端開發(fā)者,大家有沒有被 node_modules 困擾過呢?反正我是有。。。因為 npm 特殊的包管理機制,往往一個很小的項目就會攜帶一個很大的 node_modules 。

作為前端開發(fā)者,大家有沒有被 node_modules 困擾過呢?

反正我是有。。。因為 npm 特殊的包管理機制,往往一個很小的項目就會攜帶一個很大的 node_modules 。相信大家都刷到過下面這張圖,這就是對前端依賴最大的諷刺了。

圖片

有時候,可能不經(jīng)意間我們就會引入一個意外的依賴包,或者不小心升級了一個有 break chage 的依賴,還有可能在一個項目中安裝了多個互相沖突的依賴版本。但是每次遇到這種問題,想要排查問題都要花費大量時間。

比如,我們想查詢一個依賴在項目中的安裝情況,我們可能會使用 npm ls 命令,但是這個命令實在是太慢了,而且打印出來的信息而且混亂。

或者直接去 lock 里面檢查版本?你可能要花費更多的時間,而且不一定能找全。

qnm

最近在逛 Github? 發(fā)現(xiàn)了一個寶藏 CLI? 工具:qnm?,它可以幫助我們快速梳理前端依賴信息,并且同時支持 npm? 和 yarn。

圖片圖片

我們可以把它安裝到全局,或者使用 npx 調(diào)用:

npm i --global qnm

分析依賴

用法:qnm [module]?, 我們嘗試查看下所有安裝的 lodash:

圖片

這意味著, lodash? 在我們的項目里被安裝了 15? 次,我們項目直接依賴的版本是 4.17.11?,發(fā)布于 3 年前(已經(jīng)很落后了),其他間接依賴的都是 4.17.21 版本,發(fā)布于 1 周前。

我們來對比下實際的 node_modules 目錄,發(fā)現(xiàn)是可以一一對應上的:

圖片

再來對比下 npm ls lodash 的結(jié)果,相比之下這個真的很慢而且展示比較亂:

圖片

你還可以對包進行模糊搜索(直接在命令行輸入 qnm):

圖片

另外,還有一些參數(shù)選項:

  • --no-remote?:禁止從npm 獲取遠程數(shù)據(jù),可以加快命令速度;
  • -o , --open?:使用默認編輯器打開模塊的package.json 文件;
  • -d, --debug:查看完整的錯誤消息,主要用于調(diào)試;
  • --disable-colors:禁用大部分顏色和樣式,例如版本顏色。

分析空間占用

你可以使用 qnm doctor? 分析 node_modules? 目錄中占用最多空間的內(nèi)容,這個一分析還是挺讓我吃驚的,有的老項目 node_modules 已經(jīng)占用了幾個 G 的空間了。。

圖片圖片

調(diào)用 qnm doctor --sort duplicates 查看重復依賴占用的空間:

圖片

分析所有模塊

調(diào)用 qnm list? 命令分析 node_modules? 目錄中所有模塊(等同于直接調(diào)用 npm ls ,但是要比它的速度和可讀性好太多了)。

圖片

模糊匹配

qnm match? 命令類似于 grep 命令,可以匹配包含某字符串的任何模塊。

比如我們想查找我們裝了哪些 babel 插件:

圖片

怎么樣,有了這個命令行工具是不是感覺治理 node_modules 要輕松一些了?趕緊收藏起來吧(https://github.com/ranyitz/qnm)!

責任編輯:趙寧寧 來源: code秘密花園
相關推薦

2022-09-19 13:57:24

文件前端代碼

2020-07-16 14:00:38

node_module文件前端

2025-02-05 08:54:36

rimrafNode.js工具

2025-07-02 04:55:00

2025-03-04 07:30:00

開發(fā)前端Node.js

2022-10-20 13:05:53

patches文件生成

2016-12-06 09:12:07

Java程序員

2025-02-14 08:26:47

TypeScripDeepSeek

2020-06-08 09:12:39

arthaslambdaPHP

2011-09-02 14:47:48

Node

2021-09-24 13:06:55

華為智慧城市

2025-06-26 08:31:50

2021-01-09 22:38:16

大數(shù)據(jù)軟件消費

2014-08-15 16:46:06

IOSAndroid

2018-07-23 15:28:29

HTTPCookieHeader

2013-12-16 10:04:30

IBM芯片應用

2015-06-10 09:14:30

2023-03-16 14:33:23

WebGL初始化繪制

2020-12-31 11:21:10

聚焦數(shù)據(jù)

2022-03-15 19:02:28

數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號