您的位置:首页 > Web前端 > Node.js

<node 开发指南> 小结

2015-04-25 00:00 281 查看
模块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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  node