25

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 如何做到这一点?

4

3 回答 3

33

npm 使用 Unicode方框绘图字符(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!
于 2013-03-15T18:32:06.870 回答
2

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

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

只需安装:

npm install -g tree-cli

并在您的文件夹中使用:

tree -L 2, -d
于 2015-11-10T09:12:26.937 回答
0

你也可以使用console2,它做的事情几乎一样archy,但给你有用的附加功能,比如改进的堆栈跟踪、对象检查等等:

在此处输入图像描述

Feature screenshot

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

于 2015-09-18T09:16:30.920 回答