<node 开发指南> 小结

本文深入探讨了Node.js中的核心模块及其应用,包括模块、包、全局对象、事件驱动、文件系统、HTTP服务器和客户端等,详细介绍了各模块的功能、方法及实例,帮助开发者更好地理解和运用Node.js。
模块module和包package


require

module.exports =


#核心模块


## 全局对象

process
描述当前node进程状态的对象,提供一个与操作系统的简单接口

方法
process.argv

process.stdout
   process.stdout.write

process.stdin

process.nextTick(callback)


console
提供控制台标准输出
console.log
console.error
console.trace

util
工具类

util.inherits  实现对象间原型继承的函数

util.inspect   是将一个任意对象转换为字符串的函数,通常用于调试和错误的输出。

events
事件驱动
var events = require("events")
事件发射与事件监听器的功能。

events模块只提供了一个对象,events.EventEmitter

var emitter = new events.EventEmitter();

// 监听事件的发生
emitter.on("someEvents",function(data){


});
// 触发事件发生
emitter.emit("someEvents",data)

emitter.once(event,listener)

emitter.removeListener(event,listener)

emitter.removeAllListener([event])


error 事件


继承EventEmitter
具有某个实体功能的对象实现事件符合语义,事件的监听和发射应该都是一个对象的方法。
javascript的对象机制是基于原型的,支持部分多重继承,继承EventEmitter不会打扰对象原有的继承关系

fs
文件系统
var fs = require("fs");
所有方法都提供了异步和同步的两个版本

fs.readFile(filename,[encoding],[callback(err,data)])

fs.readFileSync(file,[encoding]);
PS:需要使用try和catch来捕获并处理异常

fs.open(path,flags,[mode],[callback(err,data)]);
是 POSIX open函数的封装
flags 可以是 r / w / a

fs.read(fd,buffer,offset,length,position,[callback(err,bytesRead,buffer)])



# http 服务器和客户端

var http = require("http")

http.createServer(function(req,res){

});

http.server 的事件
继承EventEmitter。
request
connection
close

var http = require("http")

var server = new http.server();

server.on("request",function(req,res){

});

http.ServerRequest
http请求一般可以分为两个部分:请求头(requestHeader)和请求体(requestBody)

data
end
close

获取get请求的内容
url模块的 parse函数提供了这个功能。
var url = require("url");

获取post请求内容

可以监听事件去处理

http.ServerResponse
返回客户端的信息
三个重要的成员函数
1.返回相应头
response.writeHead(statusCode,[headers])
2.响应内容
response.write(data,[encoding])
3.结束请求
response.end([data],[encoding])

# http 客户端

http.request(options,callback)
options 参数
host
port
method
path
headers


http.get(options,callback)


使用的时候别忘记了最后的 end()方法

request.abort()

request.setTimeout()

http.ClientResponse

response.setEncoding()

response.pause()
response.resume()







转载于:https://my.oschina.net/bosscheng/blog/406153

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值