概述
Node:一门后端语言(服务器端的程序语言),能够连接数据库存取数据,能够接受和处理网络请求(服务器的响应,发送请求去获取数据),单线程事件驱动,异步执行,不等待,提高IO(input和output)的处理速度和效率。
服务器:本质上是一台PC主机(linux系统,windows系统),部署了后端语言的执行环境,并且能够长时间提供网络服务。
事件驱动
node 本身提供了事件对象,帮助我们快速实现订阅者模式,或者观察者模式,或者事件模式。
// 订阅事件
event.on('林俊杰演唱会',()=>{订阅门票})
// 事件的触发
event.eimt('林俊杰演唱会')
读写事件
fs.readfile('path',读取配置,(err,data)=>{})
fs.writefile('path',写入数据,写入配置,()=>{})
读写的 promise 封装
var 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);
}
})
})
}
使用方式
(async function(){
let data = await fsRead('path');
})()
网络请求数据
request 、axios :效率比较高,但局限性比较大
puppetter:效率低,局限性比较小
网络响应数据
http.createServer:就可以创建一个服务器去监听某个端口,并且通过请求事件来处理每个发送过来的请求。
server.on(‘request’,(req,res)=>{
req: 请求数据都会放在请求对象里
res: 能够做出响应对象
})
路由:
根据不同的路径去响应不同的内容
for(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模板,根据请求的数据不同,显示页面内容。例如新闻网站
function 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 介绍所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复