2016-03-06 19 views
8

Sto cercando un modo per ottenere un elenco aggiornato di tutti i moduli core di Node.js. Esiste un modulo NPM che fornisce un elenco di questo tipo? Da qualche parte negli annali della mia vita ho scritto una risposta a questa domanda, ma non me ne ricordo, né ricordo quanto fosse valida una soluzione.Elenco esatto dei moduli principali del nodo

+3

Dopo "A proposito di questi Documenti" e "Synopsis" del nodo [documentazione API] (https://nodejs.org/dist/latest-v5.x/docs/api/) è organizzato dal modulo. Possono anche essere trovati nei file sorgente, [sotto la directory 'lib'] (https://github.com/nodejs/node/tree/master/lib) (ignorare i file con prefissi' _'). –

+0

@johnathan Cerco di ottenere queste informazioni a livello di codice, senza dover fare qualche orribile scraping web LOL –

+0

Basta vederlo dal vivo su [Tonic] (https://tonicdev.com/npm/builtin-modules) –

risposta

18

Se non ti dispiace accedere alle proprietà della sottolineatura-prefissato, repl esporta una _builtinLibs matrice:

 
$ node -pe "require('repl')._builtinLibs" 
[ 'assert', 
    'buffer', 
    'child_process', 
    'cluster', 
    'crypto', 
    'dgram', 
    'dns', 
    'domain', 
    'events', 
    'fs', 
    'http', 
    'https', 
    'net', 
    'os', 
    'path', 
    'punycode', 
    'querystring', 
    'readline', 
    'stream', 
    'string_decoder', 
    'tls', 
    'tty', 
    'url', 
    'util', 
    'v8', 
    'vm', 
    'zlib' ] 

Tale elenco non è così "completo", come la lista fornita dal modulo builtin-modules in quanto fa non includere moduli non documentati e simili.

+0

Non l'ho fatto prova questo, ma penso che sia leggermente migliore di un file JSON semi-statico in una libreria di terze parti –

+0

'repl' è anche lì nella lista, ma penso che l'hai rimosso intenzionalmente, poiché non ha senso che non potrebbe essere lì, dal momento che stai usando quel modulo per mostrare la lista completa! Bene, la sua mostra sul mio PC –

+0

@AnkurShah non ho rimosso nulla al momento. Probabilmente era un errore nel nodo in quel momento. – mscdex

2

33 moduli sono nei moduli integrati secondo https://www.npmjs.com/package/builtin-modules.

36 according to core structures 
28 repositories in Git 
112 packages 

Ci vorrà molto tempo per compilare questo elenco. Farlo come una ricerca su node_core sarà una buona opzione.

3

J4F: è possibile utilizzare lo github api e ottenere un elenco di file direttamente in formato JSON.

var http = require('https') 
var path = require('path') 

var options = { 
    hostname: 'api.github.com', 
    path: '/repos/nodejs/node/contents/lib', 
    method: 'GET', 
    headers: { 'Content-Type': 'application/json', 
      'user-agent': 'nodejs/node' 
    } 
} 

var req = http.request(options, (res) => { 
    res.setEncoding('utf8') 
    var body = "" 
    res.on('data', (data) => { body += data }) 
    res.on('end',() => { 
    var list = [] 
    body = JSON.parse(body) 
    body.forEach((f) => { 
     if (f.type === 'file' && f.name[0]!=='_' && f.name[0]!=='.') { 
     list.push(path.basename(f.name,'.js')) 
     } 
    }) 
    console.log(list) 
    }) 
}) 
req.on('error', (e) => { throw (e) }) 
req.end() 
Problemi correlati