npm如何绘制依赖树?

时间:2013-03-15 18:32:07

标签: node.js console

npm在控制台中将一个包的依赖关系层次结构绘制为一个很好的工作:

$ npm ls
my-awesome-project@0.0.1
├── colors@0.6.0-1
├─┬ express@2.5.11
│ ├─┬ connect@1.9.2
│ │ └── formidable@1.0.11
│ ├── mime@1.2.4
│ ├── mkdirp@0.3.0
│ └── qs@0.4.2
└── uglify-js@1.2.6

npm如何做到这一点?

3 个答案:

答案 0 :(得分:31)

npm使用Unicode box drawing characters(U + 2500-2800)绘制树的漂亮线条。

要在您自己的应用程序中绘制类似的树,最佳路径可能是使用npm本身使用的相同模块 - archy

var archy = require('archy');
var s = archy({
  label : 'beep',
  nodes : [
    'ity',
    {
      label : 'boop',
      nodes : [
        {
          label : 'o_O',
          nodes : [
            {
              label : 'oh',
              nodes : [ 'hello', 'puny' ]
            },
            'human'
          ]
        },
        'party\ntime!'
      ]
    }
  ]
});
console.log(s);

输出

beep
├── ity
└─┬ boop
  ├─┬ o_O
  │ ├─┬ oh
  │ │ ├── hello
  │ │ └── puny
  │ └── human
  └── party
      time!

答案 1 :(得分:3)

要列出您的文件夹和文件,您可以使用tree-cli:

https://www.npmjs.com/package/tree-cli

只需安装:

npm install -g tree-cli

在你的文件夹中使用:

tree -L 2, -d

答案 2 :(得分:0)

您也可以使用与archy几乎完全相同的console2,但为您提供有用的附加功能,例如改进的堆栈跟踪,对象检查等等:

enter image description here

Feature screenshot

完全披露:我是存储库的作者