Node.js Stream - 实战篇】的更多相关文章

邹斌 ·2016-07-22 11:04 背景 前面两篇(基础篇和进阶篇)主要介绍流的基本用法和原理,本篇从应用的角度,介绍如何使用管道进行程序设计,主要内容包括: 管道的概念 Browserify的管道设计 Gulp的管道设计 两种管道设计模式比较 实例 Pipeline 所谓“管道”,指的是通过a.pipe(b)的形式连接起来的多个Stream对象的组合. 假如现在有两个Transform:bold和red,分别可将文本流中某些关键字加粗和飘红.可以按下面的方式对文本同时加粗和飘红: //…
Node.js Stream - 基础篇 邹斌 ·2016-07-08 11:51 背景 在构建较复杂的系统时,通常将其拆解为功能独立的若干部分.这些部分的接口遵循一定的规范,通过某种方式相连,以共同完成较复杂的任务.譬如,shell通过管道|连接各部分,其输入输出的规范是文本流. 在Node.js中,内置的Stream模块也实现了类似功能,各部分通过.pipe()连接. 鉴于目前国内系统性介绍Stream的文章较少,而越来越多的开源工具都使用了Stream,本系列文章将从以下几方面来介绍相关内…
<Node.js开发实战详解>学习笔记 ——持续更新中 一.NodeJS设计模式 1 . 单例模式 顾名思义,单例就是保证一个类只有一个实例,实现的方法是,先判断实例是否存在,如果存在则直接返回,若不存在,则创建实例对象,并将实例对象保存在静态变量中,当下次请求时,则可以直接返回这个对象实例,这就确保了一个类只有一个实例对象.举个例子吧~一间学校刚刚起建还没有图书馆,有的同学就向领导提意见:"hey! 哥们,能不能帮我们建一个图书馆? "(想要一个图书馆实例),然后领导说:…
技术架构: ​ 在Koa中应用Nunjucks,需要先把Nunjucks集成为符合Koa规格的中间件(Middleware),从本质上来讲,集成后的中间件的作用是给上下文对象绑定一个render(view, model)方法,这样,后面的Controller就可以调用这个方法来渲染模板了. NPM社区有很多开源爱好者提供的第三方中间件.开发者可以根据实际情况自由选择,也可以像iKcamp团队一样,自己实现集成Nunjucks.本示例中,选用了koa-nunjucks-2模块. 安装koa-nun…
学习架构: 在实战项目中,经常需要记录下服务器的响应时间,也就是从服务器接收到HTTP请求,到最终返回给客户端之间所耗时长.在Koa应用中,利用中间件机制可以很方便的实现这一功能.代码如下所示: 01 const koa = require('koa'); 02 const app = new koa(); 03 app.use(async (ctx, next) => { // 记录服务器响应时间的中间件 04 let stime = new Date().getTime(); // 记录当前…
学习架构: 由于Koa2已经支持ES6及更高版本,包括支持async方法,所以请读者保证Node.js版本在7.6.0以上.如果需要在低于7.6的版本中应用Koa的async方法,建议使用Babel hook.示例代码如下: require('babel-register'); // 应用的其余 require 需要被放到hook后面 const app = require('./app'); 1.项目初始化 在安装Koa之前,读者需要先创建项目的目录.新建文件夹koa2-tutorial/用来…
#########################################################################介绍Node.js Stream(流)Stream 是一个抽象接口,Node 中有很多对象实现了这个接口.例如,对http 服务器发起请求的request 对象就是一个 Stream,还有stdout(标准输出). Node.js,Stream 有四种流类型:    • Readable - 可读操作.    • Writable - 可写操作.  …
Node.js拥有广大的 JavaScript程序员基础并且完全开源,它被广泛地用在 Web服务.开发工作流.客户端应用等诸多领域.在 Web 服务开发这个领域,业界对 Node.js 的接受程度最高. 对于很多前端开发者来说,难点在于如何按照后端工程师的思维,涉及诸如 RPC 调用.系统运维以及进程管理等前端工程师较少涉及到的领域. 站在一个前端工程师的角度,讲解如何基于 Node.js开发一个完整的项目,带你完整体验一遍前端工程师使用Node.js进行项目开发会碰到的各种常见场景和技术难点,…
作者:美团点评技术团队链接:https://zhuanlan.zhihu.com/p/21681115来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 上篇(基础篇)主要介绍了Stream的基本概念和用法,本篇将深入剖析背后工作原理,重点是如何实现流式数据处理和back pressure机制. 目录 本篇介绍stream是如何实现流式数据处理的. 数据生产和消耗的媒介 为什么使用流取数据 如何通过流取到数据 read push方法 end事件 readable事件…
内容摘要 Node.js 10已经进入LTS时代!其应用场景已经从脚手架.辅助前端开发(如SSR.PWA等)扩展到API中间层.代理层及专业的后端开发.Node.js在企业Web开发领域也日渐成熟,无论是在API中间层,还是在微服务中都得到了非常好的落地.本书将通过Web开发框架Koa2,引领你进入Node.js的主战场! 本书系统讲解了在实战项目中使用Koa框架开发Web应用的流程和步骤.第1章介绍Node.js的安装.开发工具及调试.第2章和第3章介绍搭建Koa实战项目的雏形.第4章详细介绍…