Node:一门后端语言(服务器端的程序语言),能够连接数据库存取数据,能够接受和处理网络请求(服务器的响应,发送请求去获取数据),单线程事件驱动,异步执行,不等待,提高IO(input和output)的处理速度和效率。
服务器:本质上是一台PC主机(linux系统,windows系统),部署了后端语言的执行环境,并且能够长时间提供网络服务。
事件驱动
node 本身提供了事件对象,帮助我们快速实现订阅者模式,或者观察者模式,或者事件模式。
复制代码
1
2
3
4
5// 订阅事件 event.on('林俊杰演唱会',()=>{订阅门票}) // 事件的触发 event.eimt('林俊杰演唱会')
读写事件
复制代码
1
2
3fs.readfile('path',读取配置,(err,data)=>{}) fs.writefile('path',写入数据,写入配置,()=>{})
读写的 promise 封装
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27var fs = require("fs"); function fsWrite(path,content){ return new Promise(function(resolve,reject){ fs.writeFile(path,content,{flag:"a",encoding:"utf-8"},function(err){ if(err){ reject(err) }else{ resolve() } }) }) } function fsRead(path){ return new Promise(function(resolve,reject){ fs.readFile(path,{flag:"r",encoding:"utf-8"},function(err,data){ if(err){ reject(err) }else{ resolve(data); } }) }) }
使用方式
复制代码
1
2
3
4(async function(){ let data = await fsRead('path'); })()
网络请求数据
request 、axios :效率比较高,但局限性比较大
puppetter:效率低,局限性比较小
网络响应数据
http.createServer:就可以创建一个服务器去监听某个端口,并且通过请求事件来处理每个发送过来的请求。
server.on(‘request’,(req,res)=>{
req: 请求数据都会放在请求对象里
res: 能够做出响应对象
})
路由:
根据不同的路径去响应不同的内容
复制代码
1
2
3
4
5
6
7
8
9
10for(let key in this.reqEvent){ let regStr = key; let reg = new RegExp(regStr); if(reg.test(req.url)){ this.reqEvent[key](req,res); resState = true; break; } }
模板
会有固定样式和结构的HTML模板,根据请求的数据不同,显示页面内容。例如新闻网站
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15function render(options,path){ fs.readFile(path,{encoding:"utf-8",flag:"r"},(err,data)=>{ if(err){ console.log(err); }else{ data = data.replace(/(rn)|(n)/g,''); data = replaceArr(data,options); data = replaceVar(data,options); // 匹配循环的变量,并且替换循环的内容 this.end(data); } }) }
最后
以上就是活泼大门最近收集整理的关于Node 介绍的全部内容,更多相关Node内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复