合并流节点
Combining streams node
这个函数的返回值需要是一个流。在非观看模式下,这很容易;返回rebundle, browserify流被转换等等。然而,在监视模式下,rebundle在每次更新时运行,并每次创建一个新流。我需要一种方法来整合所有这些流,因为它们被创建成一个单一的无尽的流,我可以返回,并可以实际消耗的线。使用组合流,似乎一旦数据被读取,流就不再是可写的,所以这是不可能的。任何帮助将不胜感激!
var bundleify = function(watch) {
var bundler = (watch?watchify:browserify)('main.js');
var rebundle = function () {
return bundler.bundle()
.on('error', console.log)
.pipe(source('main.js'))
.pipe(rename('app.js'))
.pipe(jsTasks()); // lazypipe with other tasks
};
// Regular browserify, just return the stream.
if (!watch) {
return rebundle();
}
// Watchify, rebundle on update.
bundler.on('update', function() {
rebundle();
});
// return ????
}
这是我想到的解决方案。它很简陋(诚然,我对流没有很好的理解),但看起来它是有效的。还是想找个更好的方法。
var outstream = through2.obj();
var interceptor = function(){
return through2.obj(function(obj, enc, cb) {
outstream.push(obj);
cb()
});
}
bundler.on('update', function() {
rebundle().pipe(interceptor());
});
rebundle().pipe(interceptor());
return outstream;
相关文章:
- 节点导出返回一个空对象
- JQuery合并了keyup和focusout两个函数
- 可以前端maven插件使用节点,npm已经安装
- 在jstree中,如何将指定的节点集中到大型树上
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 如何从模块链中调用函数.导出到节点中
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- d3基于用户选择动态更新节点
- 需要使用JavaScript根据类名合并相邻的HTML节点
- 包装和打开jquery后合并文本节点
- 是否有任何功能可以合并两个JSON数据集并替换旧信息?(节点.JS)
- 合并两个节点列表而不重复
- 将文本节点合并到一个文本节点,并在 p 标记内换行.Javascript/JQuery
- 如何将模型和控制器合并到我的节点.js应用程序中
- 插入跨度后将文本节点合并在一起
- 将coffeescript合并到您的节点项目中
- Javascript合并两个函数,用另一个元素检查节点类型
- 合并流节点
- Javascript:如何动态创建和合并文本节点
- 合并两个节点.具有相似属性的json文件(合并两个具有相似属性的json文件)