核心概念
- 清理工具:npkill - 清理 node_modules
- 检查工具:depcheck - 检查未使用依赖
- 更新工具:npm-check-updates - 检查依赖更新
一、依赖清理工具
1.1 npkill - 清理 node_modules
使用场景:磁盘空间不足,需要清理项目中的 node_modules 文件夹
# 安装
npm install -g npkill
# 使用 - 交互式选择要删除的 node_modules
npx npkill
# 指定扫描目录
npx npkill -d /path/to/scan| 命令参数 | 说明 |
|---|---|
-d | 指定扫描目录 |
-f | 完全删除,不经过回收站 |
--exclude | 排除指定目录 |
安全提示
- 使用前请确认项目不再需要
- 建议先用
git status确认无重要更改- 删除后可用
npm install重新安装
二、依赖检查工具
2.1 depcheck - 检查未使用依赖
使用场景:项目依赖过多,需要清理 package.json 中未使用的包
# 安装
npm install -g depcheck
# 检查当前项目
depcheck
# 检查指定目录
depcheck ./my-project
# 忽略特定依赖
depcheck --ignore=eslint输出示例:
Unused dependencies
* lodash (never used)
* moment (never used)
Missing dependencies
* axios: ./src/api.js
| 命令参数 | 说明 |
|---|---|
--ignore | 忽略指定的依赖 |
--ignores | 忽略指定模式的文件 |
--json | 输出 JSON 格式结果 |
三、依赖更新工具
3.1 npm-check-updates - 检查依赖更新
使用场景:项目需要升级依赖版本,保持最新
# 安装
npm install -g npm-check-updates
# 查看可更新的依赖
ncu
# 升级 package.json 中的依赖(不安装)
ncu -u
# 安装新版本的依赖
npm install常用命令:
| 命令 | 说明 |
|---|---|
ncu | 查看可更新的依赖 |
ncu -u | 更新 package.json |
ncu -i | 更新 package.json 并安装 |
ncu --reject [dep] | 排除指定依赖 |
示例:
# 只检查生产依赖
ncu --prod
# 只检查开发依赖
ncu --dev
# 排除特定依赖
ncu --reject webpack,eslint四、其他实用工具
4.1 代码规范类
| 工具名 | 用途 | 安装命令 |
|---|---|---|
| ESLint | JavaScript 代码检查 | npm i -D eslint |
| Prettier | 代码格式化 | npm i -D prettier |
| Stylelint | CSS 代码检查 | npm i -D stylelint |
4.2 性能分析类
| 工具名 | 用途 | 安装命令 |
|---|---|---|
| webpack-bundle-analyzer | 打包体积分析 | npm i -D webpack-bundle-analyzer |
| speed-measure-webpack-plugin | 打包速度分析 | npm i -D speed-measure-webpack-plugin |
4.3 开发辅助类
| 工具名 | 用途 | 安装命令 |
|---|---|---|
| husky | Git hooks 管理 | npm i -D husky |
| lint-staged | 暂存文件 lint | npm i -D lint-staged |
| commitlint | 提交信息规范 | npm i -D commitlint |