node安装教程我之前有出过,不会的可以去看一下(node.js安装教程)
1.引入http模块(这个模块是node.js内置的模块)
// require() node.js引入模块的方法
const http = require('http');
2.创建服务器实例并监听端口(8080)开启服务器,监听客户端请求并进行处理
// http.createServer() 创建http服务器实例
// request参数:请求对象
// response参数:响应对象
http.createServer((request,response)=>{
// 通过请求对象request.url 获取请求的路径 进行判断
if(request.url === '/'){
// response.statusCode 设置响应时发给客户端的http状态码
response.statusCode = 200;
// response.end() 停止响应 里面可以写入一个字符串参数(是发送给客户端的数据)
response.end('这里是首页');
}else if(request.url === '/shopping'){
response.statusCode = 200;
response.end('这里是购物车');
}else if(request.url === '/list'){
response.statusCode = 200;
response.end('这里是列表页');
}else{
response.statusCode = 404;
response.end('404找不到页面');
}
}).listen(8080,()=>{
// 服务器实例.listen()监听端口并开启服务器 第一个参数是端口号 第二个参数是监听IP(每台设备会有多个IP地址 每插一根网线,连一个wifi就会有一个新的ip,没有的话会有回环地址127.0.0.1||localhost) 第二个参数可传可不传 不传就监听所有的ip; 然后第三个参数是回调函数,这个回调函数一般用来打印提示信息
console.log('服务器开启成功');
});
打开服务器地址 127.0.0.1:8080/ 查看一下效果:
http.createServer()方法有一个参数为回调函数,这个回调函数就是我们处理客户端请求的函数。
这里的回调函数有两个参数,request(第一个参数)为请求对象,response(第二个参数)为响应对象,顾名思义,请求对象就是客户端请求服务器时所携带的各种参数的一个集合,而响应对象则是服务器响应客户端请求的各种参数的集合。
这里只是写了一个最简单的服务器,访问服务器的对应路径返回对应的字符,后面我们再进一步添加更多的功能。
这里的一些注意点:
response.end方法不可重复调用,否则会报错
然后就是编码问题,我们这里给客户端返回的内容是中文的,因为编码不同会产生乱码问题,我们这里需要配置响应头
response.setHeader('Content-Type','text/plain;charset=utf-8');
Content-Type是响应头的配置项之一,是用来定义响应类型的。
text/plain;charset=utf-8就是配置的内容了,text/plain意思是返回文本内容,charset=utf-8就是将响应数据的编码设置为utf-8编码,这样就不会有中文乱码的问题了。
总结:request对象和response对象中还有很多参数和方法,我这里就不详细讲解了,想要了解的可以去查看官方文档(node.js中文网)。
一个简单的服务器配置到这里就结束了,下一章我会详细讲解怎么配置一个可以返回html页面的服务器。