Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台,事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
Nodejs创建一个web网站
const http=require('http'); var server=http.createServer(function (req, res){ switch(req.url){ case '/1.html': res.write("111111"); break; case '/2.html': res.write("2222"); break; default: res.write('404'); break; } res.end(); }); //监听——等着 //端口-数字 server.listen(8080);
操作文件
修改文件
const fs=require('fs'); //writeFile(文件名, 内容, 回调) fs.writeFile("bbb.txt", "1231313", function (err,data){ console.log(err); console.log(data); });
读取文件
const fs=require('fs'); //readFile(文件名, 回调函数) fs.readFile('aaa.txt', function (err, data){ if(err){ console.log('读取失败'); }else{ console.log(data.toString()); } });
加载页面
const http=require('http'); const fs=require('fs'); var server=http.createServer(function (req, res){ //req.url=>'/index.html' //读取=>'./www/index.html' // './www'+req.url var file_name='./www'+req.url; fs.readFile(file_name, function (err, data){ if(err){ res.write('404'); }else{ res.write(data); } res.end(); }); }); server.listen(8080);
解析url
参数为false =》字符串, 参数为true =》对象
const urlLib=require('url'); var obj=urlLib.parse("http://www.zhinengshe.com/index?a=12&b=5", false); console.log(obj.pathname, obj.query);
获取POST数据
//post可以接受大量的数据,它是分段发送数据的。 const http=require('http'); const querystring=require('querystring'); http.createServer(function (req, res){ var str=''; //接收数据 //data——有一段数据到达(很多次) var i=0; req.on('data', function (data){ console.log(`第${i++}次收到数据`); str+=data; }); //end——数据全部到达(一次) req.on('end', function (){ var POST=querystring.parse(str); console.log(POST); }); }).listen(8080);
const http=require('http'); http模块
const fs=require('fs'); 请求文件
const querystring=require('querystring'); 请求post数据
const urlLib=require('url'); 请求get数据
模块化
require——引入
exports——输出
module.exports——批量输出
引入自己的模块——./ ?
对外输出东西——必须加给exports
数据请求
GET数据:
req.url——urlLib.parse(, true)
POST数据接收:POST数据比GET大得多
POST很大——分段
data 一段数据
end 全部到达