Node.js开启服务器
// 1.加载http核心模块 var http = require('http'); // 2.使用http.createServer()创建一个web服务器 var server = http.createServer(); // 3.服务器要做的事儿 // 提供服务:对数据服务 // 发请求 // 接收请求 // 处理请求 // 反馈(发送响应) // 当客户端请求过来,就会自动触发服务器的request请求事件,然后执行第二个参数:回调处理函数 server.on('request',function(req,res){ console.log('收到客户的请求了'); // 可以查看访问客户的ip地址和对应的端口号等信息: console.log('请求我服务的客户的ip地址是:',req.socket.remoteAddress); console.log('请求我服务的客户的端口号是:',req.socket.remotePort); }) // 4.绑定端口号,启动服务 server.listen(3000,function(){ console.log('服务器启动成功,可以通过http://127.0.0.1:3000来进行访问'); })
这个服务器什么也不能做,只能在服务器上看到用户已经访问了,浏览器也一直处于等待服务器回复的状态
服务器响应数据到浏览器(每次更新代码后需要重启服务器,ctrl+c关闭当前服务,然后重新开启)
// 1.加载http核心模块 var http = require('http'); var server = http.createServer(); // request 请求时间处理函数,需要接受两个参数: // request 请求对象 可以用来获取客户端的一些请求信息,例如请求路径 // response 响应对象 可以用来给客户端发送响应消息 server.on('request',function(request,response){ console.log('收到客户的请求了,请求路径是:'+request.url); // response 对象有一个方法write()可以用来给客户端发送响应数据 // 需要注意的是响应回去的数据只能是字符串或者二进制数据,其他的如对象、数组等都不可以 // write()方法可以使用多次,但最后一定要使用end()方法来结束响应,否则客户端会一直等待 // response.write('hello'); // response.write(' node'); // response.end(); // 可以直接在end()方法中写入需要传递回去的信息 // response.end('hello node'); // 当需要返回数组或者对象时,使用 JSON.stringify()进行转换 var data = [ { id:1, name:'张珊', age:23 }, { id:2, name:'李四', age:24 }, { id:3, name:'王五', age:25 } ]; response.end(JSON.stringify(data)); }) // 4.绑定端口号,启动服务 server.listen(3000,function(){ console.log('服务器启动成功,可以通过http://127.0.0.1:3000来进行访问'); })
得到结果:
打下了1/2的江山