我需要查看某种依赖关系树,显示从特定文件开始的各种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
答案 0 :(得分:5)
您可以使用madge
查看依赖关系树答案 1 :(得分:1)
它不是排序,而是可视化您的文件
答案 2 :(得分:0)
我不知道任何现有的软件包,但您可以使用module.parent
和module.children
属性创建一个软件包。阅读here。要获得软件包的版本,您应该阅读每个软件包的package.json
。
npm
本身也可以包含有用的代码。您可以尝试在此处获取 - https://github.com/npm/npm