node

Node.js中的HTTP服务

标签: node javaScript Node.js最重要的功能之一就是实现HTTP和HTTPS服务器的能力,对应到Node.js的具体模块为http和https模块,但是这俩个模块实现的功能是非常的底层的,只有一些基本的处理请求或是响应的功能,而像路由、cookie、缓存等却并没有直接的方法供开发者调用。当然使用一些模块如express就能实现完整的Web服务。express这里不做过多的讨论,有兴趣的可以去官网看看介绍。express官网 URL URL(统一资源定位符)是HTTP服务器用来处理客户端请求的一个标签,一个URL可以分为几个不同的组成部分,每一部分都为Web服务器提供了不同的信息。 一个基本的URL格式为: protocol :// hostname[:port] / path / [?query]#fragment 从左到右依次为:协议、主机名、端口、

  • aco
    aco
10 min read
node

Node.js中的文件系统-fs模块

标签:node javaScript 在任何的系统中,与文件的交互都是非常重要的,特别是当配置参数写在一个文件中时,对文件系统的操作是必不可少的。在Node.js中同样也有专用的模块fs来处理与文件系统的交互。fs模块中,提供了与文件系统进行交互的良好的接口。就可以方便的对文件进行打开、读取、写人等操作。 同步与异步使用文件系统的差异 Node.js中的fs模块几乎所有的功能都会有两种形式可供选择:异步和同步。如读取文件的同步形式为readFileSync(path,[option],callback)和异步模式readFile(path,[option])。所以在编写代码时,理解这两种形式的不同是非常重要的。 同步方式的文件系统调用会导致阻塞,由于Node.js是单线程的,直到文件调用完成后,控制权才会被放回主线程,这也就导致了后台其他线程池中的很多线程不能够执行,

  • aco
    aco
11 min read
node

Node.js中的数据处理IO-Stream-2

标签:node javaScript 上次说了在Node中两个基本的流:Readable和Writable流,接下来说说在Node.js中更高级的流。 Duplex 流 Duplex流(双向数据流)结合了可读流和可写的特性,使得Duplex流可以进行读取和写入操作。 当然,Duplex流也可以自定义实现,实现方式和可读流(可写流)的方式差不多,使用util模块提供的inherits()方法: var util = require('util'); util.inherits(MyDuplexStream,stream.Duplex); 然后创建对象时调用 stream.Duplex.call(

  • aco
    aco
6 min read
node

Node.js中的数据处理IO-Stream-1

标签:node javaScript Buffer作为Node.js中数据在内存中具体表现形式。而在现实中数据基本上都不是事由程序员手动输入内存中,而是存储在外部的硬盘或是由HTTP响应回来的数据流。面对这些流式数据,在Node.js就需要Stream模块来处理,并把这些数据写入内存中去。 数据流通常可分为:可读、可写、或即可读有可写的内存结构,而流的目的通常不仅仅是将数据读到内存中而是提供一种从一个地方传送数据到另一个地方的通用机制。 我们可以这样来理解Stream:数据从一个地方到另一个地方的过程,可写流就是 就是向你写的程序来的数据流,因为你需要去读它;可写流则恰好相反,你发出的需要的别的地方去的流为可写流,因为数据要到别的地方使用(存储或是用于别的进程);双工流就是可写流和可读流的合并,用于双向传输数据;转换流是双工流的升级版,进行了一定的封装,用于处理一个系统到另一个系统的数据(你都不属于这两个系统)。 下面为创建和使用Readable(可读)

  • aco
    aco
5 min read