自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Node_modules 是該好好治一治了

開發(fā) 前端
作為前端開發(fā)者,大家有沒有被 node_modules 困擾過(guò)呢?反正我是有。。。因?yàn)?npm 特殊的包管理機(jī)制,往往一個(gè)很小的項(xiàng)目就會(huì)攜帶一個(gè)很大的 node_modules 。

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

反正我是有。。。因?yàn)?npm 特殊的包管理機(jī)制,往往一個(gè)很小的項(xiàng)目就會(huì)攜帶一個(gè)很大的 node_modules 。相信大家都刷到過(guò)下面這張圖,這就是對(duì)前端依賴最大的諷刺了。

圖片

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

比如,我們想查詢一個(gè)依賴在項(xiàng)目中的安裝情況,我們可能會(huì)使用 npm ls 命令,但是這個(gè)命令實(shí)在是太慢了,而且打印出來(lái)的信息而且混亂。

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

qnm

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

圖片圖片

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

npm i --global qnm

分析依賴

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

圖片

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

我們來(lái)對(duì)比下實(shí)際的 node_modules 目錄,發(fā)現(xiàn)是可以一一對(duì)應(yīng)上的:

圖片

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

圖片

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

圖片

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

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

分析空間占用

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

圖片圖片

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

圖片

分析所有模塊

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

圖片

模糊匹配

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

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

圖片

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

責(zé)任編輯:趙寧寧 來(lái)源: code秘密花園
相關(guān)推薦

2022-09-19 13:57:24

文件前端代碼

2020-07-16 14:00:38

node_module文件前端

2025-02-05 08:54:36

rimrafNode.js工具

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

華為智慧城市

2021-01-09 22:38:16

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

2014-08-15 16:46:06

IOSAndroid

2018-07-23 15:28:29

HTTPCookieHeader

2015-06-10 09:14:30

2023-03-16 14:33:23

WebGL初始化繪制

2013-12-16 10:04:30

IBM芯片應(yīng)用

2020-12-31 11:21:10

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

2020-12-28 19:13:11

Node.js后端框架

2024-07-12 14:54:48

2018-01-17 09:32:07

前后端分離架構(gòu)
點(diǎn)贊
收藏

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