node js搭建一个简单的 web服务器
第一步
引入 http 核心模块 : var http = require(http)
第二步 使用 http.createServer() 方法创建一个 web 服务器 返回一个 Server 实例
**var server = http.createServer()**
第三步 注册 request 请求事件
request 请求事件处理函数,需要接受两个参数 req 请求对象: 请求对象可以获取客户端的请求信息,列如路径请求(返回客户端请求的 URL) res 响应对象 响应对象可以给客户端发一些响应消息(res.end(这里面写给客户端响应的数据)) res 对象有一个方法:write 可以用来给客户端发送一些响应数据 res.write(<head><meta charset="utf-8"/></head>);防止页面上乱码
server.on(request,function(req,res){
// res 对象有一个方法:write 可以用来给客户端发送一些响应数据
// write 可以使用多次,但是使用后面一定要用 end 来结束响应,否则客户端会一直等待(页面上不显示请求的消息)
// res.write(<head><meta charset="utf-8"/></head>);防止乱码
console.log(收到客户端的请求,请求路径是:+req.url)
res.write(<head><meta charset="utf-8"/></head>);
res.write(初始数据)
// 告诉客户端,话说完了可以传递给用户了(显示在页面上)
res.end()
})
第四部 绑定端口号,启动服务器 代码里面绑定的端口号是 3000 就直接用 http://127.0.0.1:3000/ 获取 localhost:3000 来访问
server.listen(3000,function(){
console.log(成功可以通过 http://127.0.0.1:3000/ 来访问);
})
下面是完整的代码 里面只是多了一个 URL客户端输入的路径判断响应不同的数据
/**
* 搭建一个简单的 web 服务器
*/
// 映入 http 核心模块
var http = require(http)
// 2.使用 http.createServer() 方法创建一个 web 服务器
// 返回一个 Server 实例
var server = http.createServer()
//3.注册 request 请求事件
/**
* request 请求事件处理函数,需要接受两个参数
* req 请求对象:
* 请求对象可以获取客服端的一些请求信息,例如路径请求(返回客户端请求的 URL)
* res 响应对象
* 响应对可以用来给客户端发送响应消息
*/
//函数里的参数可以自己定义参数 function(**,**)
server.on(request,function(req,res){
console.log(收到客户端的请求,请求路径是:+req.url)
// res 对象有一个方法:write 可以用来给客户端发送一些响应数据
// write 可以使用多次,但是使用后面一定要用 end 来结束响应,否则客户端会一直等待(页面上不显示请求的消息)
// res.write(<head><meta charset="utf-8"/></head>);防止乱码
/*
* res.write(<head><meta charset="utf-8"/></head>);
* res.write(初始数据)
* // 告诉客户端,话说完了可以传递给用户了(显示在页面上)
* res.end()
*/
/*
* 用 req.url 获取到服务器的请求就进行判断
* 如果客户端输入的路径请求等于 goods 就显示商品数据
*/
let url = req.url;
if(url === /goods){
let products = [
{
name: 橘子,
price:20
},
{
name: 香蕉,
price:20
}
]
// res.end 只能识别 字符串,和二进制数字,所以用 JSON.stringify 转换成字符创数组
res.end(JSON.stringify(products))
} else{
res.write(<head><meta charset="utf-8"/></head>);
res.write(初始数据)
// 告诉客户端,话说完了可以传递给用户了(显示在页面上)
res.end()
}
})
//4.绑定端口号,启动服务器
server.listen(3000,function(){
console.log(成功可以通过 http://127.0.0.1:3000/ 来访问);
})
