2013-03-15 2 views
22

npm fa un lavoro ingegnoso di disegno gerarchia delle dipendenze di un pacchetto come un albero nella console:In che modo npm disegna l'albero delle dipendenze?

$ npm ls 
[email protected] 
├── [email protected] 
├─┬ [email protected] 
│ ├─┬ [email protected] 
│ │ └── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ └── [email protected] 
└── [email protected] 

Come si fa npm fare questo?

risposta

31

NPM utilizza Unicode box drawing characters (U + 2500-2800) per disegnare le belle linee del albero.

Per disegnare un albero simile nella propria applicazione, il percorso migliore è probabilmente quello di utilizzare lo stesso modulo utilizzato da 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); 

uscite

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

Si potrebbe anche usare console2 che fa quasi la stessa cosa di archy fa, ma ti dà utili funzionalità aggiuntive come migliorate tracce di stack, l'ispezione di oggetti e molto altro ancora:

enter image description here

Feature screenshot

Full disclosure: Sono l'autore del repository

2

Per l'elenco le cartelle ei file che è possibile utilizzare albero-cli:

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

Basta installare :

npm install -g tree-cli 

E utilizzare all'interno della cartella:

tree -L 2, -d