Node.js网址:https://github.com/Yuki-Minakami/BookExample
一.1.Node.js,用js语言创建后台服务器;(https://nodejs.org);
Node适合做功能性的;
2.在数据库中执行的命令:
1.>node -v检测是否安装node.js;
2.>切换到d盘,切换盘符 d:
3.>进入文件夹 ,cd表示进入文件夹, cd node.js
4.>执行某个文件,node 文件名
二.node js中的模块:(原生的node.js)
1.http模块,创建服务器,开启一个服务;
第一步:引入http模块;var http=require('http');
第二步:使用http模块创建一个服务;
var server=http.createServer(function(){
console.log('服务器开启了');
}
第三步:监听一个端号;
server.listen(8080);
2.fs模块
A.
第一步:引入fs模块;
var fs=require('fs');
第二步;读取文件
fs.readFile('1.txt',function(err,data){
console.log(err);
if(err){
console.log('读取失败');
}else{
console.log(data.tostring());
}
})
B.写文件
fs.writeFile('文件名',‘内容’,function(err){
console.log(err);
})
3.//前端客户 后台交互
// get post 对象
//把前端提交数据转换成对象格式
//1.手动实现
//2.querystring 模块
// uname=jack&upwd=123
querystring.parse('uname=jack&upwd=123');
console.log()//{uname:jack,upwd:123}
4.模块url
解析get方式发送的数据 /?uname=jack&upwd=123
方法1:手动写(利用split);
方法2:querystring模块;
方法3:url模块;
url.js:
const http=require('http');
const url=require('url');
var server=http.createServer(function(req,res){
var obj=url.parse(req.url,true);
console.log(obj);
});
server.listen(8080);
form.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<form action="http://localhost:8080" method='GET'>
<p>用户名:<input type="" name="uname" id="" value="" /></p>
<p>密码<input type="" name="upwd" id="" value="" /></p>
<p><input type="submit" name="" id="" value="提交" /></p>
</form>
</body>
</html>
5.解析post方式发送的数据
post : get传输数据量小 post传输的数据量大
post.js:
// get post
// 1.手动 2.queryString 3.url
//post : get传输数据量小 post传输的数据量大
const http=require('http');
const queryString=require('querystring')
var server=http.createServer(function(req,res){
var str='';
req.on('data',function(data){//每次发送的数据 data代表每次发送的数据
//小段数据 data data data
str+=data;
})
req.on('end',function(){//数据已经发送结束
var post=queryString.parse(str);
console.log(post);//uname=jack&upwd=123
})
});
server.listen(8080);
post.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<form action='http://localhost:8080' method='post'>
<p>同户名:<input type="" name="uname"></p>
<p>密码:<input type="" name="upwd"></p>
<p><input type="submit" value='提交'></p>
</form>
</body>
</html>
6.总结:
// http 搭建服务器
const http=require('http');
//fs模块 操作文件
const fs=require('fs');
// querystring
const querystring=require('querystring');
var server=http.createServer(function(req,res){//req请求 res响应
//响应 res
res.write('相应的内容');
res.end();//响应结束
//req
req.url//请求的路径
//fs 读取文件 写文件
fs.readFile('文件名',function(err,data){//err 读取失败 data读取成功数据
if(err){
res.write('404');
}else{
res.write(data);
}
})
//写文件
fs.writeFile('文件名','内容',function(err){
console.log(err);
})
//前端客户 后台交互
// get post 对象
//把前端提交数据转换成对象格式
//1.手动实现
//2.querystring 模块
// uname=jack&upwd=123
querystring.parse('uname=jack&upwd=123');
console.log()//{uname:jack,upwd:123}
})
server.listen(8080);
模块url:(简单实例)
// 解析get方式发送的数据 /?uname=jack&upwd=123 {uname:jack upwd:123}
//手动写
//querystring
//url 模块
const ull=require('url');
var obj=ull.parse('http://www.baidu.com/index?uname=jack&upwd=123',true);
//console.log(obj);
console.log(obj.query);
console.log(obj.pathname);
1.处理get发送的数据时用url模块; 2.处理post发送的数据时,用querystring模块; 3.处理文件发送的数据时用fs模块
;
网友评论