2015-03-31 12 views
5

Gibt es eine Möglichkeit, Abhängigkeitsbaum zu erhalten, die browserify verwendet, um Bundle zu erstellen?Wie man Abhängigkeitsbaum in browserify erhält?

Browserify nimmt eine Reihe von Skripten und macht ein nettes Bündel von ihnen, löst alle erforderlichen Abhängigkeiten. Aber ich möchte Struktur dieser Abhängigkeiten sehen.

var scripts = [ 'a.js', 'b.js' ];//a & b require a lot of other scripts 
var b = browserify({ 
     entries:scripts 
    }); 
b.bundle().pipe(fs.createWriteStream('bundle.js')); 
//looking on b in debugger I can't find anything like dependency tree 

Antwort

0

bin ich nicht sicher, ob es äquivalente API-Methoden, aber man konnte den CLI-Flags --deps und --list versuchen.

2

Dieser Code aus dem --list handler in the Browserify bin/cmd.js script cribbed finden Sie eine einfache Liste von Dateien erhalten:

// Your setup: 
var scripts = [ 'a.js', 'b.js' ]; //a & b require a lot of other scripts 
var b = browserify({ 
    entries: scripts 
}); 

// Logging out each of the filenames: 
b.pipeline.get('deps').push(require('through2').obj(
    function (row, enc, next) { 
    console.log(row.file || row.id); 
    next(); 
    } 
)); 

// Bundle as normal: 
b.bundle().pipe(fs.createWriteStream('bundle.js')); 

(. Hinweis: Sie finden die through2 package für die oben installiert müssen aus dem Kasten heraus arbeiten)

Ein Baum kann mit the code from the --deps handler right next to it konstruiert werden, aber dieser Code spuckt eine Liste von JSON-Blobs aus, wobei jeder Blob eine Liste anderer Dateien enthält, von denen er abhängt; Sie müssen den Baum selbst bauen.