文章

查看package.json里哪些包未使用

检查未使用的 npm 包

1. 使用 depcheck

depcheck 是最流行的工具,可以分析项目代码,找出未使用的依赖包。

安装和使用

无需全局安装,直接使用 npx 运行:

npx depcheck

输出结果说明

  • Unused dependencies: 已安装但未被引用的包(可删除)
  • Unused devDependencies: 已安装但未被引用的开发依赖
  • Missing dependencies: 代码中使用但未在 package.json 中声明的包

注意事项

某些包(如 babel-eslint、prettier、Webpack 插件等)是通过配置文件(.eslintrc、webpack.config.js 等)引用的,depcheck 可能无法识别它们。删除前请务必确认。


2. 使用 npm-check

npm-check 功能更丰富,支持检查包是否过期,并提供交互式界面。

使用命令

npx npm-check

特点

  • 标记出 NOTUSED 的包
  • 支持 -u 参数进入交互模式,方便选择要处理的包

3. 处理误报情况

某些包被标记为 Unused 但实际在用,通常原因如下:

  • 隐式引用: ESLint/Babel/Tailwind 插件在配置文件中以字符串形式声明
  • Peer Dependencies: 某些包作为其他包的插件存在
  • 构建工具: ts-node、nodemon 等只在命令行脚本中使用

4. 操作流程

  1. 运行检查

    npx depcheck
  2. 手动确认

    查看”Unused dependencies”列表,确认包是否真的未使用。检查配置文件(.babelrc、webpack.config.js、.eslintrc 等)。

  3. 卸载依赖

    npm uninstall <package-name> # 或使用 yarn yarn remove <package-name>
  4. 验证

    删除 node_modules,重新安装依赖,运行项目确保正常。

本文由作者按照 CC BY 4.0 进行授权