作者: 阎王 发表于: 2017-08-31 相信很多人对 Node.js 的 Stream 已经不陌生了,不论是请求流、响应流、文件流还是 socket 流,这些流的底层都是使用 stream 模块封装的,甚至我们平时用的最多的 console.log 打印日志也使用了它,不信…
标签:nodejs
gulp源码解析(三)—— 任务管理
上篇文章我们分别对 gulp 的 .src 和 .dest 两个主要接口做了分析,今天打算把剩下的面纱一起揭开 —— 解析 gulp.task 的源码,了解在 gulp4.0 中是如何管理、处理任务的。 在先前的版本,gulp 使用了 orchestrator 模块来指…
gulp源码解析(二)—— vinyl-fs
在上一篇文章我们对 Stream 的特性及其接口进行了介绍,gulp 之所以在性能上好于 grunt,主要是因为有了 Stream 助力来做数据的传输和处理。 那么我们不难猜想出,在 gulp 的任务中,gulp.src 接口将匹配到的文件转化为可读(或 Duplex/…
gulp源码解析(一)—— Stream详解
作为前端,我们常常会和 Stream 有着频繁的接触。比如使用 gulp 对项目进行构建的时候,我们会使用 gulp.src 接口将匹配到的文件转为 stream(流)的形式,再通过 .pipe() 接口对其进行链式加工处理; 或者比如我们通过 http 模块创建一个 …
基于request async写一个简单的nodejs登陆小爬虫
初始化 main函数 登陆获取cookie 组装请求cookie
process.cwd() __dirname __filename的区别
https://stackoverflow.com/questions/9874382/whats-the-difference-between-process-cwd-vs-dirname process.cwd() //返回程序执行的根路径 __dirname //当前的源代…
基于Promise的函数封装
在promise的 多次网络请求中 我们经常会遇到一个场景就是网络请求对象本身就是一个promise对象了但是我需要进行几次then之后的返回一个promise 给下一步网络请求调用,直接直接链式写 那么势必又臭又长! 所以 如何把一个promise的执行过程封装成一个函数呢? …