Nodejs学习笔记

Lesson-4 初识Nodejs (3)

2015-08-07  本文已影响30人  阿瑟李

我的朋友和我说 单纯的这么去看文档是没有效果的 你需要先有需求 再去看文档 这样才能真正的一步步学会Node 我觉得他说的很对 但是每个人的学习方法都会有些许不一样 我想按照我自己的思路走下去

Event


事件是整个Nodejs的基础,所以我们一定要去理解这个模块

Class: events.EventEmitter

这么一个核心模块说起来也不难 总的来说的一下几点

比较进阶的用法就是自己创建类继承这个类实现事件的功能

HTTP


非常核心的一个类 能够创建服务器 和客户端

Class: http.Server

是由http.createServer([requestListener])创建 其中requestListener是一个function 直接响应 request事件
是EventEmitter的子类
它拥有一系列的事件可以去监听 比如 request connection ....
你需要使用 listen来开启这个服务器
你当然也可以关闭它, 也可以设置每一个socket链接超时时间

Class: http.ServerResponse

它是由server创建的 是request事件的第二个参数,而且实现了 Writable Stream 接口
这里需要注意的一点就是可以使用writeHead来添加header,但是这个方法只能使用一次,而且只要使用了这个方法,其他的便利设置header的方法都会失效
response.write()可以被多次调用 但是第二次以及之后的调用不会发送header而且数据会变成数据流传输,调用end()结束回复

http.request(options[, callback])

我们可以通过这个方法去作为客户端进行http通信

Class: Class: http.ClientRequest

这个和response有些相似 实现了 Writable Stream 接口 值得注意的是 这个是通过 http.request()创建的 请求 ,而 作为客户端请求得到的response 还有 作为服务器得到的 req 其实他们都是 http.IncomingMessage 对象 而不是这个 http.ClientRequest

Query String


这个类其实是处理对象序列化的问题 主要应用在url解析上面

通过 querystring.stringify(obj[, sep][, eq][, options]) ``querystring.parse(str[, sep][, eq][, options])序列化和反序列化对象
当然,可以选择重写默认的分隔符('&'
) 和分配符 ('=')。

URL


这是一个专门生成和解析URL的模块,和Query string结合能够更好地工作

Utilities


这是一个实用工具类
首先这个类提供了多个输出方法
inspect() 这个方法可以输出对象 你可以设置一些参数
还是拥有一些类判断对象类型的方法
这个类里面最有用的的方法就是 util.inherits(constructor, superConstructor)
这个方法能帮助我们简单的实现类的继承

Globals


这个模块记录了一些全局对象,在使用这些的事后不需要require
__filename和__dirname是会经常实用的
setTimeout(cb, ms),clearTimeout(t),setInterval(cb, ms),clearInterval(t)这是一系列的延迟执行的方法

上一篇 下一篇

猜你喜欢

热点阅读