成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何檢查前端項(xiàng)目中未使用的依賴包?

開發(fā) 開發(fā)工具
Depcheck 是一款用于分析項(xiàng)目中依賴關(guān)系的工具,它可以幫助我們找出以下問題:在 package.json 中,每個(gè)依賴包如何被使用、哪些依賴包沒有用處、哪些依賴包缺失。它是解決前端項(xiàng)目中依賴包清理問題的一個(gè)常用工具。

隨著前端項(xiàng)目中使用的依賴包越來越多,而其中一部分依賴包可能并未被項(xiàng)目所使用,手動查找這些依賴包既耗時(shí)又繁瑣。那么,有沒有工具能夠快速地幫助我們識別和清理項(xiàng)目中未使用的依賴包呢?下面就來介紹兩個(gè)用于檢查未使用依賴包的常用工具!

depcheck

Depcheck 是一款用于分析項(xiàng)目中依賴關(guān)系的工具,它可以幫助我們找出以下問題:在 package.json 中,每個(gè)依賴包如何被使用、哪些依賴包沒有用處、哪些依賴包缺失。它是解決前端項(xiàng)目中依賴包清理問題的一個(gè)常用工具。

Depcheck 不僅可以識別 JavaScript 文件中的依賴關(guān)系,還支持以下語法:

  • JavaScript (ES5、ES6 和 ES7)
  • React JSX
  • CoffeeScript
  • TypeScript(需要安裝 typescript 依賴)
  • SASS 和 SCSS
  • Vue.js(需要安裝 @vue/compiler-sfc 依賴)

可以在終端中運(yùn)行一下命令來安裝 depcheck(需要確保 node.js 的版本大于等于 10.0.0):

npm install -g depcheck

在安裝時(shí),報(bào)了以下錯(cuò)誤:

圖片

問題很明顯就是權(quán)限不夠(筆者的電腦是 M1 MacBook,這里以 mac 的操作為例),問了一下 chatgpt,給出的解答如下:

圖片

這里使用最簡單的第一種方案來解決,使用管理員權(quán)限來安裝:

sudo npm install -g depcheck

這樣就安裝成功了。接下來在前端項(xiàng)目的根目錄下執(zhí)行以下命令:

depcheck

可以看到以下沒有被引用的依賴包以及缺少依賴的文件:

圖片

當(dāng)然,這些依賴并不一定是真的沒用到,比如 less、less-loader、file-loader、svgo、TypeScript 等都在項(xiàng)目或者 webpack 等配置中用到了,depcheck 會忽略這些包。實(shí)際上,depcheck 會忽略這些配置文件中使用到的依賴項(xiàng)。

depcheck 的基本語法如下:

depcheck [directory] [arguments]

其中,directory 是項(xiàng)目根目錄(即 package.json 文件所在的目錄)。如果未指定,默認(rèn)為當(dāng)前目錄。所有參數(shù)都是可選的:

  • --ignore-bin-package=[true|false]:表示 depcheck 是否忽略包含 bin 入口的包。默認(rèn)值為 false。
  • --skip-missing=[true|false]:表示 depcheck 是否跳過計(jì)算缺失的依賴項(xiàng)。默認(rèn)值為 false。
  • --json:以 JSON 格式輸出結(jié)果。當(dāng)未指定時(shí),depcheck 會以友好的格式輸出。
  • --oneline:將結(jié)果作為用空格分隔的字符串輸出。用于復(fù)制/粘貼很有用。
  • --ignores:一個(gè)由逗號分隔的數(shù)組,包含要忽略的包名稱。它可以是 glob 表達(dá)式。例如,--ignores="eslint,babel-*"。
  • --ignore-dirs:已過時(shí),請改用 ignore-patterns。一個(gè)由逗號分隔的數(shù)組,包含要忽略的目錄名稱。例如,--ignore-dirs=dist,coverage。
  • --ignore-path:指定包含描述要忽略的文件的模式的文件的路徑。文件必須符合 .gitignore 規(guī)范。例如,--ignore-path=.eslintignore。
  • --ignore-patterns:用逗號分隔的描述要忽略的文件的模式。模式必須符合 .gitignore 規(guī)范。例如,--ignore-patterns=build/Release,dist,coverage,*.log。
  • --help:顯示幫助信息。
  • --parsers、--detectors 和 --specials:這些參數(shù)用于高級用途。它們提供了一種易于定制文件解析器和依賴項(xiàng)檢測的方法。。
  • --cnotallow=[文件名]:一個(gè)外部配置文件(見下文)。

例如,想忽略某些包或文件夾,可以在命令后面添加相應(yīng)的選項(xiàng):

depcheck --ignores="eslint" --ignore-dirs="dist"

除此之外,我們還可以在項(xiàng)目中增加 depcheck 的配置文件來配置要忽略解析的文件、要解析的文件、要忽略的包等,可以查看官方的文檔來進(jìn)行配置。

Github:https://github.com/depcheck/depcheck

npm-check

npm-check 用于檢查項(xiàng)目中的依賴項(xiàng),并提供有關(guān)過期,未使用和缺少依賴項(xiàng)的信息。npm-check 是基于 depcheck 實(shí)現(xiàn)的。它可以提示項(xiàng)目依賴項(xiàng)的狀態(tài),但它只會檢查并更新項(xiàng)目的直接依賴項(xiàng),并不會檢查和更新嵌套的依賴項(xiàng)(即項(xiàng)目的依賴項(xiàng)的依賴項(xiàng))

npm-check 具有以下特性:

  • 告訴哪些內(nèi)容已經(jīng)過期。
  • 提供包的文檔鏈接,以便決定是否要更新。
  • 提醒代碼中沒有使用某個(gè)依賴項(xiàng)。
  • 通過 -g 支持全局安裝的包。
  • 通過 -u 提供交互式更新,減少輸入和拼寫錯(cuò)誤。
  • 支持公有和私有的 @scoped/packages。
  • 支持 ES6 風(fēng)格的 import from 語法。
  • 使用安裝的版本的 npm 進(jìn)行模塊升級,包括新的 npm@3,以確保依賴項(xiàng)到達(dá)預(yù)期的位置。
  • 適用于任何公共的 npm 注冊表、私有注冊表以及類似 Sinopia 的備用注冊表。
  • 在 package.json 中設(shè)置 private: true 的包不會在注冊表中查詢。
  • 為命令行應(yīng)用添加了表情符號。
  • 適用于 npm@2 和 npm@3,以及一些新的替代安裝程序,例如 ied 和 pnpm。

可以在終端中通過以下命令來安裝 npm-check(需要確保 node.js 的版本大于等于 10.9.0):

npm install -g npm-check

安裝時(shí)同樣遇到了權(quán)限的問題,這里也使用管理員權(quán)限來安裝:

sudo npm install -g npm-check

接下來就可以執(zhí)行以下命令來檢測項(xiàng)目的 npm 包:

npm-check

執(zhí)行完之后,就可以看到類似的結(jié)果:

圖片

這里面會詳細(xì)介紹每個(gè) npm 的情況,可以根據(jù)實(shí)際情況進(jìn)行分析。

npm-check 的基本語法如下:

npm-check <path> <options>

其中 path 是要檢查的路徑。默認(rèn)為當(dāng)前目錄。可以使用 -g 檢查全局模塊。

除此之外,還有以下選項(xiàng):

  • -u, --update 交互式更新。
  • -y, --update-all 非交互式更新。無需提示即應(yīng)用所有更新。
  • -g, --global 查看全局模塊。
  • -s, --skip-unused 跳過未使用的軟件包檢查。
  • -p, --production 跳過 devDependencies。
  • -d, --dev-only 僅查看 devDependencies(跳過 dependencies)。
  • -i, --ignore 根據(jù)成功的 glob 忽略依賴項(xiàng)。
  • -E, --save-exact 在 package.json 中保存精確版本(x.y.z),而不是 caret (^x.y.z)。
  • --specials depcheck 特殊功能列表,用于檢查未使用的依賴項(xiàng)。
  • --no-color 強(qiáng)制啟用或禁用顏色輸出。
  • --no-emoji 去除表情符號支持。CI 環(huán)境默認(rèn)沒有表情符號。
  • --debug 顯示調(diào)試輸出,報(bào)告 github 上的問題時(shí),請?zhí)砑拥?gist 中。

除此之外,npm-check 也像 depcheck 一樣,支持在項(xiàng)目根目錄添加配置文件來進(jìn)行配置,可以查看官方的文檔來進(jìn)行配置。

Github:https://github.com/dylang/npm-check

責(zé)任編輯:武曉燕 來源: 前端充電寶
相關(guān)推薦

2021-03-02 09:45:07

java循環(huán)依賴開發(fā)技術(shù)

2023-10-27 10:16:17

前端項(xiàng)目Rust

2020-10-27 14:15:42

SpringBoot

2014-08-19 09:33:29

FedoraCentOSRPM

2021-04-22 06:03:17

SonarQube檢查項(xiàng)目CI

2009-06-24 17:34:58

使用JSF的經(jīng)驗(yàn)

2017-07-04 19:02:17

ReacRedux 項(xiàng)目

2024-04-03 09:03:05

項(xiàng)目分支管理

2021-12-24 08:00:00

Java漏洞插件

2021-08-23 10:40:30

人工智能KubernetesAI

2023-07-05 10:11:02

2023-12-21 08:51:37

防抖節(jié)流Vue.js

2020-06-03 10:09:03

微服務(wù)項(xiàng)目版本號

2009-06-29 15:51:48

Spring容器

2023-06-13 18:24:26

TypeScriptJSDoc開發(fā)

2019-03-25 10:30:19

開發(fā)技能代碼

2011-01-19 10:45:34

信息系統(tǒng)項(xiàng)目管理師

2011-09-05 14:26:43

PhoneGap插件

2022-06-21 07:41:08

FCPJS代碼

2022-08-15 18:22:22

JS代碼
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 国产成人精品久久 | 99这里只有精品视频 | 久久亚洲春色中文字幕久久久 | 在线观看a视频 | 日韩精品成人网 | 免费看色 | 一区二区影院 | 97狠狠干| 偷拍自拍第一页 | 天堂成人av | 亚洲精品在线观看网站 | 国产一区二区免费在线 | 日本超碰在线 | 欧美精品一区在线 | 久久久久国产一区二区三区四区 | 久久精品—区二区三区 | 久久久国产一区二区三区四区小说 | 亚洲天堂二区 | 久久久久一区二区三区 | 色吧综合 | 国产91在线 | 中日 | 91大神新作在线观看 | 国产欧美一区二区三区在线看 | 欧美黄色片 | 久久国产精品免费一区二区三区 | 久在线| 日韩网站免费观看 | 亚洲精品v| 雨宫琴音一区二区在线 | 国产精品一区久久久 | www.国产精品| 久久99精品国产自在现线小黄鸭 | 成人在线免费视频观看 | 91免费看片 | 国产乱码精品1区2区3区 | 99热99 | 欧美在线视频一区 | 国产精品自拍视频 | 久久精品国产一区二区三区不卡 | 久久99视频免费观看 | 国产在线观看一区二区 |