优势:高并发特别好。高并发:同时大量的处理数据html
一、防止甩锅 明确数据交互的错误问题在谁
二、可以书写api 斜杠青年(有第二产业的青年)
三、了解先后端交互流程
四、全栈工程师java
let 变量名 = require(引入文件的路径)
fs.mkdir('文件路径以及名字(./test)',回调函数(err)={ console.log(err) })
fs.rmdir('文件路径名字',回调函数(err)=>{ console.log(err)})
fs.rename('旧文件夹','新文件夹',回调函数)
fs.readdir('文件夹路径',(err,data)=>{console.log(err,data)})
fs.writeFile('文件夹名字(name.js)','添加的内容(hello word)',回调函数(err)=>{ console.log(err), })
fs.appendFile('(文件夹名字)name.js','添加的内容',回调函数(err)=>{console.log(err)})
fs.readFile('(文件夹名字)name.js',回调函数(err,msg)=>{console.log(err,msg.toString('utf8'))})
默认读取是二进制数据流buffer,因此进行转换。或者写成fs.readFile('name.txt','utf8',(err,msg)=>{console.log(err,msg)})
fs.unlink('文件路径和名字',(err)=>{console.log(err)})
- url: 统一资源定位符 url由协议、域名、端口号、path、hash构成。
url.parse(url字符串)
url.format(url对象)
let qs = require('querystring') ;
let string = 'user=67&page=65'
let obj = qs.parse(string);console.log(obj)
qs.stringify(obj,'#',':')
第一个参数是要转化的query对象,第二个参数是健值对的以什么符号切分的,第三个参数是键和值之间切分的符号。第2、三参数默认是&和=切分。let transporter = nodemailer.createTransport({ host:'smtp.qq.com',//发送方的邮件类型,例如qq,网易,163等等;具体的经过依赖下的lib下的well-known下的server.json文件查找相关的配置 port:465,//邮箱类型的端口号 secure:true,//端口号为465则为true,其余的全为false auth:{ user:'236799127@qq.com',//发送方的邮箱密码 pass:'fdshfhsajkh'//smtp验证码 这个在邮箱设置的帐户下,点击开启就会有smtp验证码 } })
let info = { from :'<2367991927@qq.com>',//从哪里发出 to : '451464730@qq.com',//接收方邮箱
subject : '标题' , text : '发送的内容' //也能够发送html, html:内容 }transporter,sendMail(info)
let err = new Error('发生错误')
throw err
//抛出错误,代码终止执行console.log(err),
//打印错误对象,代码继续执行一、接收数据(用户名和密码)
二、处理数据(判断用户名和密码是否正确)
三、返回数据(告诉用户是否登陆成功)node