node.js
一. 创建http服务
//1. 引入http模块
let http=require('http');
//2. 创建http服务
let server=http.createServer((req,res)=>{
console.log('服务器创建成功测试');
//*响应完成
res.end();
})
//3. 设置监听端口
server.listen(8090);
**关于node.js的启动与访问
1. 如何启动服务:
在cmd窗口(搭建好http服务的js文件夹下) => node 文件名.js
2. 如何访问服务器:
主机:端口号
localhost:8090 域名
127.0.0.1:8090 IP
注意: 如果修改了js文件中的代码(服务端代码),必须重新启动服务
可以使用Ctrl+C => 终止服务 => 再重新启动服务
二. 关于创建http服务中的两个参数
let http=require('http');
//** 引入url模块
let urll=require('url');
let server=http.createServer((req,res)=>{
//req: 请求报文,所有请求操作都使用req
//res: 响应报文,所有响应操作都使用res
//1. 获取请求方式
let method=req.method;
//2. 获取请求路径
let url=req.url;
//3. 获取请求参数(需要引入url模块)
/*
url模块中有: parse(参数1,参数2)方法,可以获取参数
参数1: 请求路径
参数2: 布尔值 true=>对象格式
false=>普通格式
*/
let param=urll.parse(url,true);
//可以单独获取对象中的参数 param中的query对象中存放了参数
eg: let id=param.query.id;
let gname=param.query.gname;
res.end();
})
server.listen(8090);
**关于请求路径的理解(个人)
协议://主机:端口号/ => /包括/以后的所有路径(包括参数)都是请求路径
**服务端响应给客户端的内容write()
let http=require('http');
let server=http.createServer((req,res)=>{
//设置响应体: 服务端响应给客户端的内容
res.write('<a>this is a link server</a>');
res.end();
})
server.listen(9090);
三. 加载静态资源
**说明
*静态资源:html css js 图片 音频 视频等
*如何加载静态资源:
引入fs模块 => (因为fs模块中有readFile()方法,可以读取要访问的静态资源)
语法格式:
fs.readFile('静态资源文件','回调函数')
回调函数参数: 参数1 => 返回错误 err
参数2 => 静态资源里面的数据 data
**代码如下
let http=require('http');
//1. 引入fs模块
let fs=require('fs');
let server=http.createServer((req,res)=>{
let method=req.method;
let url=req.url;
//2. 执行readFile()方法前可以先判断文件路径和请求方式
//判断是否是根目录
if(url=='/'&&method=='GET'){
fs.readFile('./index.html',(err,data)=>{
if(err){
res.write('<h1>404 not found</h1>');
}else{
res.write(data)
}
res.end()
})
}
//判断是否是其他目录
if(url=='/login'&&method=='GET'){
fs.readFile('./login.html',(err,data)=>{
if(err){
res.write('<h1>404 not found</h1>')
}else{
res.write(data)
}
res.end()
})
}
})
server.listen(9090);