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 に答える