排查 node_modules 里某个包到底是谁带进来的,不一定要先翻 lockfile。npm 自带的 explain 挺适合先看一眼。
环境:Node.js 16+,npm 8+,项目根目录执行:
npm explain lodash
它会把依赖链打出来,比如某个顶层包依赖了它,或者它是某个工具的间接依赖。想看另一个包也一样:
npm explain eslint
这个命令只读,不会改 package.json 或 lockfile。遇到安全扫描提示、包体积异常,或者想删依赖前确认有没有别的地方还在用时,先跑一下挺省时间。