列出来自 browserify 包的文件

List files from browserify bundle

如何查看使用 API 找到并捆绑的所有文件的列表,就像 browserify 的 --list 命令行选项一样?

var browserify = require('browserify');
var b = browserify('main.js').bundle();

知道了,不是直接的解决方案,而是唯一可预见的解决方案。

当调用 browserify('main.js').bundle() 时,browserify 会递归地查看每个所需的文件,并在每个文件 found/read.

时触发通过 b.pipeline.get('deps').push() 设置的任何流处理程序
var dependencies = '';

b.pipeline.get('deps').push(through.obj(function(row, enc, next) {
    dependencies += (row.file || row.id) + '\n';
    this.push(row);
    next();
}));

您可以收听 dep 事件,该事件会为通过管道的每个依赖项触发:

var b = browserify('main.js');
b.on('dep', function(dep) {
  console.log(dep.file);
});
b.bundle();