完成写流
- 完成写流 推荐度:
- 相关推荐
完成写流
我使用一饮而尽处理,缩小和捆绑我的CSS文件(和JS太)。但我不希望立即写入文件。我要检查如果处理的内容的MD5总和不等于捆绑文件的现有版本的MD5总和,只有在这种情况下写的。
而不是立即写入文件我试图得到的是从过程中的字符串。
但施工不能正常工作。
const Stream = require('stream');
const writableStream = new Stream.Writable({ objectMode: true });
var file = "";
writableStream._write = (chunk, encoding, next) => {
file += chunk.contents.toString();
next();
}
let bundlePipe = gulp.src([...vendorLinks.map(e => path.resolve(htmlPath + e)), ...resourceLinks.map(e => path.resolve(htmlPath + e))], { sourcemaps: true })
.pipe(postcss([cssnext, cssnano]))
.pipe(concat("style.bundle.min.css"))
.pipe(writableStream);
//.pipe(gulp.dest(path.resolve(paths["html/static/css"])));
bundlePipe.on("end", () => {
// It never goes there!
console.log("get file contents", file);
}
似乎writableStream我创建不知道,所有的数据都已经传递给它,从来没有发出结束信号。
我能这样做它之后writableStream接近摆脱管道的所有数据?
回答如下:可写流不发出end
,只可读流发出这种类型的事件。
在写流相对应的是finish
。你可以找到关于此事件的细节Node.js的的documentation
之所以可读和可写的流具有不同的事件表明它们已结束/完成的是,也有它由一个可读的流,并在同一时间写流的混合流(如DuplexStream
),因此你需要能够一个和另一个类型的事件之间不同。
最新文章
- Driller源码阅读笔记(二)
- 老鼠走迷宫I
- matlab stats里的f值,MATLAB 回归分析regress,nlinfit,stepwise函数
- 所有结点对的最短路径问题之Johnson算法
- Maven的三种packaging方式(pom、jar、war)
- Gallery3D
- php开源cms系统比较好,最受欢迎免费开源CMS建站系统排行榜
- mmap函数使用
- faster R
- 针对ONION勒索病毒!如何关闭139端口及445端口等危险端口
- ExtJS (3.3的使用)
- C++:指针:void*指针(跳跃力未定的指针)
- nofollow标签使用方法
- 信息论与编码
- 系统的联调
- 实现移动端H5页面调用摄像头
- html弹出div弹窗
- python爬虫爬取网页信息
- 【机器学习数据集】如何获得机器学习的练习数据?
- C语言简单实现通讯录