我正在尝试编写一个支持browserify的Makefile,并确定我的捆绑构建目标的依赖关系,我想请浏览器列出它们。
我已经取得的成就:
browserify index.js --deps
将它们列为JSON,我可以解析,以提取列表。但是我想知道如果我通过browserify的API尝试这样做会更有效率。
browserify(path.resolve('index.js'))
.pipeline.get('deps').on('dep', (dep) => console.log('dep'))
这不起作用:(
答案 0 :(得分:0)
我最终找到了一种从browserify API获取依赖关系的方法:
const through = require('through2')
const bundler = browserify('index.js')
bundler.pipeline.get('deps').push(through.obj((row, enc, next) => {
// simply write the filename to the console
console.log(row.id)
next()
}))
bundler.bundle()
好处是,当我只想解析id时,我不必将整个json缓冲到stdout,这会为更大的树木占用大量内存。