1.创建server.js,内容如下,然后执行node server.js可以看到如下图片
let http = require('http')
let url = require('url')
http.createServer(function(request, response){
response.writeHead(200,{'conten-type': 'text/plain'})
response.write('hello h3c')
let location_name = url.parse(request.url).pathname
console.log(location_name)
console.log('唐僧搭建本地服务成功')
response.end()
}).listen('8888')
2.配置路由(‘/home’和‘/alarm’)代码如下
let http = require('http')
let url = require('url')
http.createServer(function(request, response){
let urlObj = url.parse(request.url);
let location_name = urlObj.pathname
if(location_name==='/home'){
response.write('hello home')
}else if(location_name==='/alarm'){
response.write('hello alarm')
}
console.log('唐僧搭建本地服务成功')
response.end()
}).listen('8888')
3.读写文件代码如下(管道流分块读写),新建mock.js空文件夹,
server.js代码
let http = require('http')
let url = require('url')
let fs = require('fs')
http.createServer(function(request, response){
let urlObj = url.parse(request.url);
let writeStream = fs.createWriteStream('./mock.js')
let readStream = fs.createReadStream('./data.js')
let writeDatas=[1,2,3,4]
let readData = null
writeStream.write(JSON.stringify(writeDatas))
readStream.on('data',(pie)=>{
readData += pie
})
readStream.on('end',()=>{
console.log(readData)
})
let location_name = urlObj.pathname
if(location_name==='/home'){
response.write('hello home')
}else if(location_name==='/alarm'){
response.write('hello alarm')
}else{
response.write('没有查询到接口')
}
console.log('唐僧搭建本地服务成功')
response.end()
}).listen('8888')
data.js代码如下
{
data[{
name:'zhangsan',
age:12,
},{
name:'tangsheng',
age:27,
}]
}
运行结果:
4.模拟get和post请求,新建index_get.html和index_post.html内容如下
index_get.html
<html>
<head>
<title>唐僧洗发用飘柔</title>
</head>
<body>
<form action="http://localhost:8888/login/get" method="get">
<label>用户名:</label><input type="text" name="user"/><br>
<label>密码:</label><input type="text" name="password"/><br>
<button type="submit">登录</button>
</form>
</body>
</html>
index_post.html
<html>
<head>
<title>唐僧洗发用飘柔</title>
</head>
<body>
<form action="http://localhost:8888/login/post" method="post">
<label>用户名:</label><input type="text" name="user"/><br>
<label>密码:</label><input type="text" name="password"/><br>
<button type="submit">登录</button>
</form>
</body>
</html>
server.js代码如下
let http = require('http')
let url = require('url')
let fs = require('fs')
let rqs = require('querystring')
http.createServer(function(request, response){
let urlObj = url.parse(request.url);
let location_name = urlObj.pathname
if(location_name==='/home'){
response.write('hello home')
}else if(location_name==='/alarm'){
response.write('hello alarm')
}else if(location_name==='/login/get'){
console.log(rqs.parse(urlObj.query))
}else if(location_name==='/login/post'){
let postData = null;
request.on('data',(chunk)=>{
postData += chunk
})
request.on('end',()=>{
console.log(rqs.parse(postData))
})
}else{
response.write('没有查询到接口')
}
console.log('唐僧搭建本地服务成功')
response.end()
}).listen('8888')
分别提交请求结果如下