【问题标题】:See dependency graph within npm module查看 npm 模块中的依赖关系图
【发布时间】:2016-07-12 01:06:11
【问题描述】:

是否有 NPM 模块可以显示模块内各个 JS 文件之间的依赖关系?

假设我自己的 NPM 模块中有 20 个 JS 文件;我想看看我的 20 个 JS 文件之间的依赖关系树。

【问题讨论】:

  • 你知道你不会确定没有其他依赖,因为导入是动态解析的,对吧? (不假装明显依赖关系的图表没有意义)
  • 我不确定我是否遵循。通过依赖项的跟踪以 require() 语句开始。简单地递归地跟踪它们是一个相对微不足道的问题。我还排除了 package.json 中的依赖项,例如,require('some-module-from-npmjs.org') 将被丢弃,而 require('./utils/calculator.js') 将被遵循。
  • 我的意思是let randomModule = require(names[Math.random()*names.length|0]); 是合法的。或者更有用但仍然动态的东西。当然有一些明显的依赖,但是,也有不明显的。
  • 啊,真的。我没有想到这一点。假设所有require() 语句都是完全“可知的”:require('./util/calculator.js')
  • 那么我猜像github.com/pahen/madge 这样的工具会起作用

标签: node.js npm dependencies


【解决方案1】:

一些工具可用于绘制明显的依赖关系(您可以从静态分析中猜到的那些)。

例如见MaDGe - Module Dependency Graph

【讨论】:

  • 我为这个伟大的工具做了一个方便的包装器,可以从 CLI 快速打开依赖关系图图像并在之后将其删除:gist
猜你喜欢
  • 2015-12-28
  • 2016-07-21
  • 2014-11-17
  • 1970-01-01
  • 1970-01-01
  • 2016-07-13
  • 2019-03-08
  • 1970-01-01
  • 2023-01-13
相关资源
最近更新 更多