如何从给定文件中查看完整的nodejs“require()”树?

时间:2015-05-30 15:48:22

标签: javascript node.js

我需要查看某种依赖关系树,显示从特定文件开始的各种require()。例如,如果我有server.js这样的文件:

// server.js
var myThing = require('./myThing');

myThing.js这样的文件:

// myThings.js
var mongodb = require('mongodb');

有没有办法看到mongodb需要server.js而无需手动遍历myThing.js

我很想看到像npm list这样的树,例如:

alex@alex-pc ~/repos/test $ npm list
test@1.0.0 /home/alex/repos/test
├─┬ gulp@3.8.11
│ ├── archy@1.0.0
│ ├─┬ chalk@0.5.1
│ │ ├── ansi-styles@1.1.0
│ │ ├── escape-string-regexp@1.0.3
│ │ ├─┬ has-ansi@0.1.0
│ │ │ └── ansi-regex@0.2.1
│ │ ├─┬ strip-ansi@0.3.0
│ │ │ └── ansi-regex@0.2.1
│ │ └── supports-color@0.2.0
│ ├── deprecated@0.0.1

3 个答案:

答案 0 :(得分:5)

您可以使用madge

查看依赖关系树

答案 1 :(得分:1)

dependo

它不是排序,而是可视化您的文件

答案 2 :(得分:0)

我不知道任何现有的软件包,但您可以使用module.parentmodule.children属性创建一个软件包。阅读here。要获得软件包的版本,您应该阅读每个软件包的package.json

npm本身也可以包含有用的代码。您可以尝试在此处获取 - https://github.com/npm/npm