随笔分类 - Node.js
摘要:Express提供的大部分功能是通过中间件函数完成的,这些中间件函数在Node.js收到请求的时点和发送响应的时点之间执行。Express的Connect模块提供了中间件框架,可以方便的在全局或路径级别或为单个路由插入中间件功能。Express建立在connect NPM模块上,提供了connect
阅读全文
摘要:好久没写了,今天看博客,觉得有必要把node.js继续写完,善始善终。原本想着把小崔课堂继续讲下去,由于其他原因也就此耽搁下来,看看以后还有没有机会吧。废话不扯,123开始。 一.Exoress之Request对象 对于Request对象做过网络这块的应该都不陌生,ios、C#都会有,其他语言基本都
阅读全文
摘要:前面也了解了HTTP模块,但它并不支持session、cookie等。Express是对HTTP模块的封装,同时也支持session这些,使用起来也更好用。Express更有点像IIS服务器。它也是属于一个模块的内容,所以当然是要先添加Express模块 npm install express.然后
阅读全文
摘要:一、cluster模块 Node.js是单线程处理,对于高并发的请求怎么样能增加吞吐量呢?为了提高服务器的利用率,能不能多核的来处理呢?于是就有了cluster模块。 cluster模块可以轻松实现运行在同一机器不同进程上的TCP或HTTP服务器集群。它们仍使用相同的底层套接字,从而在相同的IP地址
阅读全文
摘要:一、理论 之前看多进程这一章节时发现这块东西挺多,写Process模块的时候也有提到,今天下午午休醒来静下心来好好的看了一遍,发现也不是太难理解。 Node.js是单线程的,对于现在普遍是多处理器的机器是一种浪费,怎么能利用起来呢?于是child_process模块出现了。child_process
阅读全文
摘要:清明假期过得挺快,3天说没就没了,天热了今天把房间打扫了一下,看着挺舒心的。周六了解了下进程管理的Process模块,由于进程管理知识也比较多,今天先把其他的一些模块了解一下,进程管理这块以后慢慢学。 一、OS模块 OS模块主要是获取操作系统信息。 二、util模块 1.格式化字符串 2.检查对象类
阅读全文
摘要:在前面Node.js事件运行机制也有提到,Node.js应用在单个线程运行,但是现在大部分服务器都是多处理器,为了方便使用多个进程,Node.js提供了3个模块。Process模块提供了访问正在运行的进程。child_process模块可以创建子进程,并与他们通信。cluster模块提供了实现共享相
阅读全文
摘要:上一博客学习了请求与响应,2次读2次写,但有一个问题就是客户端写入的时候怎么知道请求到达。所以HTTP Server对象出现了。它提供了实现HTTP服务器的基本框架。它可以监听端口的底层套接字和接收请求,然后发送响应给客户端连接的处理程序。 它提供了一下几个事件: request:当服务器收到客户端
阅读全文
摘要:在C#、OC中也是客户端发起一个请求,服务端作出响应。我们可以把这个过程抽象理解 . 1.客户端给服务端发起请求相当于向服务端写入一个流(writable) 2.服务端读取客户端的流(readable) 3.服务端向客户端作出响应相当于向客户端写入一个流(writable) 4.客户端读取服务端的响
阅读全文
摘要:几乎每门编程语言都会包括网络这块,Node.js也不例外。今天主要是熟悉下Node.js中HTTP服务。其实HTTP模块是相当低层次的,它不提供路由、cookie、缓存等,像Web开发中不会直接使用,但还是要熟悉下,这样也方便以后的学习。 一、统一资源标识符URL 这个是非常常见的,在Node.js
阅读全文
摘要:Node.js中提供了一个很好的库Zlib来压缩解压数据。 一、压缩缓冲区 Zlib中有下面几个函数方便解压缩缓冲区. gzip/gunzip:标准gzip压缩. deflate/inflate:基于Huffman编码的标准deflate压缩算法。 deflateRaw/inflateRaw:针对原
阅读全文
摘要:前面的博客 Node.js文件操作一中主要是对文件的读写操作,其实还有文件这块还有一些其他操作. 一、验证文件path是否正确(系统是如下定义的) 二、获取文件信息 获取文件信息用fs.stats(path,callback)、fs.statsSync(path),它们返回Stats对象.下面是系统
阅读全文
摘要:Node.js和其他语言一样,也有文件操作。先不说node.js中的文件操作,其他语言的文件操作一般也都是有打开、关闭、读、写、文件信息、新建删除目录、删除文件、检测文件路径等。在node.js中也是一样,也都是这些功能,可能就是api与其他语言不太一样。 一、同步、异步打开关闭 其中的flags其
阅读全文
摘要:Duplex流一个很好的例子是TCP套接字连接.需要实现_read(size)和_Write(data,encoding,callback)方法. Transform变换流扩展了Duplex流,不需要实现而是直接提供。但要实现_transform(chunk,encoding,callback)._
阅读全文
摘要:一、前传 Stream在很多语言都会有,当然Node.js也不例外。数据流是可读、可写、或即可读又可写的内存结构。Node.js中主要包括Readable、Writable、Duplex(双工)和Transform(变换)流。但是在学这些之前先学会util模块中的一个从其他对象继承的功能. util
阅读全文
摘要:一、前传 在之前做web时也经常用到js对象转json和json转js对象.既然是Node.js处理I/O数据,也把这个记下来。 Json转Js对象:JSON.parse(jsonstr); //可以将json字符串转换成json对象 Js对象转Json:JSON.stringify(jsonobj
阅读全文
摘要:由于异步的关系,代码的书写顺序可能和执行顺序并不一样,可能想先执行A再执行B,但由于异步可能B要先于A执行.例如在OC中使用AFnetworking请求数据然后刷新页面,由于网络请求是用block实现的异步方法,所以刷新的时候并没有数据,为了解决这个问题,一般会在请求响应结束在block中刷新页面(
阅读全文
摘要:一、Node.js是以事件驱动的,那我们自定义的一些js对象就需要能监听事件以及发射事件。在Node.js中事件使用一个EventEmitter对象发出,该对象在events模块中。它应该是使用观察者设计模式来实现把事件监听器添加到对象以及移除,之前写OC那块的时候也有些观察者设计模式,在OC中也经
阅读全文
摘要:一、Webstrom使用node.js IDE的问题 在区别这两个函数之前来说一下Webstrom使用node.js IDE的问题,在配置Node.js的IDE了,但setImmediate()、require等这些node.js中内置的函数时并不会有提示,要解决这个问题只要设置一下Webstrom
阅读全文