• 如何使用npm-check来检查项目中未使用的依赖包
  • 发布于 2个月前
  • 1289 热度
    0 评论
npm-check 用于检查项目中的依赖项,并提供有关过期,未使用和缺少依赖项的信息。npm-check 是基于 depcheck 实现的。它可以提示项目依赖项的状态,但它只会检查并更新项目的直接依赖项,并不会检查和更新嵌套的依赖项(即项目的依赖项的依赖项)

npm-check 具有以下特性:
1.告诉哪些内容已经过期。
2.提供包的文档链接,以便决定是否要更新。
3.提醒代码中没有使用某个依赖项。
4.通过 -g 支持全局安装的包。
5.通过 -u 提供交互式更新,减少输入和拼写错误。
6.支持公有和私有的 @scoped/packages。
7.支持 ES6 风格的 import from 语法。
8.使用安装的版本的 npm 进行模块升级,包括新的 npm@3,以确保依赖项到达预期的位置。
9.适用于任何公共的 npm 注册表、私有注册表以及类似 Sinopia 的备用注册表。
10.在 package.json 中设置 private: true 的包不会在注册表中查询。
11.为命令行应用添加了表情符号。

12.适用于 npm@2 和 npm@3,以及一些新的替代安装程序,例如 ied 和 pnpm。


可以在终端中通过以下命令来安装 npm-check(需要确保 node.js 的版本大于等于 10.9.0):
npm install -g npm-check
安装时同样遇到了权限的问题,这里也使用管理员权限来安装:
sudo npm install -g npm-check
接下来就可以执行以下命令来检测项目的 npm 包:
npm-check
执行完之后,就可以看到类似的结果:

这里面会详细介绍每个 npm 的情况,可以根据实际情况进行分析。

npm-check 的基本语法如下:
npm-check <path> <options>
其中 path 是要检查的路径。默认为当前目录。可以使用 -g 检查全局模块。
除此之外,还有以下选项:
-u, --update 交互式更新。
-y, --update-all 非交互式更新。无需提示即应用所有更新。
-g, --global 查看全局模块。
-s, --skip-unused 跳过未使用的软件包检查。
-p, --production 跳过 devDependencies。
-d, --dev-only 仅查看 devDependencies(跳过 dependencies)。
-i, --ignore 根据成功的 glob 忽略依赖项。
-E, --save-exact 在 package.json 中保存精确版本(x.y.z),而不是 caret (^x.y.z)。
--specials depcheck 特殊功能列表,用于检查未使用的依赖项。
--no-color 强制启用或禁用颜色输出。
--no-emoji 去除表情符号支持。CI 环境默认没有表情符号。
--debug 显示调试输出,报告 github 上的问题时,请添加到 gist 中。
除此之外,npm-check 也像 depcheck 一样,支持在项目根目录添加配置文件来进行配置,可以查看官方的文档来进行配置。
用户评论