如何查看node_modules依赖树及npm项目依赖图谱?
嘿,我来帮你搞定这个问题!针对查看node_modules的依赖树和npm项目的依赖图谱,我整理了几个实用的方案:
查看node_modules的依赖树
- 用npm自带命令直接查看:在项目根目录执行
npm list,就能输出完整的依赖树,包含所有嵌套在node_modules里的子依赖。如果输出太繁杂,还可以加参数简化:npm list --depth=0:只显示项目的顶层依赖,避免嵌套内容刷屏npm list <package-name>:精准查看某个特定包的完整依赖链
- 如果用yarn管理依赖:可以运行
yarn list,同样支持类似参数,比如yarn list --depth=0只看顶层依赖
生成可视化的依赖图谱
重点说下你遇到的Madge忽略node_modules的问题,以及其他好用的工具:
- 修复Madge的扫描范围:Madge默认会排除node_modules,你可以通过配置让它包含这些依赖:
- 在项目根目录创建
.madgerc配置文件,写入以下内容:{ "excludeRegExp": [], "includeNpm": true } - 或者直接用命令行参数覆盖默认设置:
madge --include-npm --exclude '' .,执行后会生成SVG格式的依赖图谱,直接用浏览器打开就能查看。
- 在项目根目录创建
- 交互式可视化工具npm-visualizer:不需要额外安装,直接在项目根目录运行
npx npm-visualizer,它会启动一个本地服务,打开浏览器就能交互式浏览依赖图谱,支持缩放、搜索,非常直观。 - depcruise生成静态图谱:运行
npx depcruise --output-type dot . | dot -Tsvg > dependency-graph.svg,注意需要先安装Graphviz(比如用brew install graphviz或sudo apt install graphviz,根据你的系统选择),生成的SVG文件能清晰展示所有依赖的关联关系。
内容的提问来源于stack exchange,提问作者Qwertie
相关产品推荐
相关产品推荐

