如何在browserify中获取依赖树?

时间:2015-03-31 12:59:03

标签: browserify

有没有办法检索browserify用来构建bundle的依赖树?

Browserify需要一堆脚本并制作好的捆绑包,解决所有需要的依赖项。但是我希望看到那些依赖的结构。

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

2 个答案:

答案 0 :(得分:2)

来自--list handler in the Browserify bin/cmd.js script的这段代码将为您提供一份完整的文件列表:

// 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'));

(注意:您需要为上述内容安装through2 package才能开箱即用。)

可以使用the code from the --deps handler right next to it构建树,但所有代码都会吐出JSON blob列表,每个blob包含它依赖的其他文件列表;你自己需要建树。

答案 1 :(得分:-1)

我不确定是否有等效的API方法,但您可以尝试使用CLI标记--deps--list