node03

复习

1.昨天所学内置模块
fs/http/querystring/path
2.path.join的作用是什么
获取某一个路径,用来获取绝对路径
3.__dirname在path中的作用
当前文件夹的绝对路径
4.
5.url的全称,包含哪些部分
统一资源定位符,在这里插入图片描述
6.文件操作
7.文件夹操作
8.url的方法在这里插入图片描述

homework

目录树分析:

1)获取目标文件夹的目录内容
2)将文件或者文件夹进行划分
3)将文件或者文件夹进行打印,命令行console.log();
4)文件夹再次遍历 deep 1 |—— deep 2 | |——,按照深度进行划分,打印当前目录树


邮箱注册功能分析

  1. 获取验证码
    1)产生验证码
    2)发送验证码
    3)将用户的邮箱的验证码保存
  2. 验证验证码和用户邮箱是否一致
    1)提交数据
    2)对比是否正确

可完善:
3. 短时间不能发送多次验证
4. 图片验证码
5. 手机验证码

events

  1. 移除全部事件 removeAllListener
  2. 移除单个事件 移除的监听函数必须是绑定的函数
  3. 绑定的事件可以传参数

添加事件

在这里插入图片描述
//类的继承
//实例化对象

//添加对象监听
myEmitter.once("eat",(foot,foot2)=>{
	console.log("eat"+foot+foot2);
})
myEmitter.on("play",()=>{
	console.log("play");
})
//触发对象的事件
mayEmitter.emit("eat","火山飘雪","猛龙过江");
mayEmitter.emit("play");

移除事件

在这里插入图片描述
单个事件监听移除,移除的事件必须是绑定的事件,否则会报错
fs读取文件不是流式操作,整个拿来读取,拷贝大文件会出错

stream流

  1. 流的方式读写文件
  2. req 可读流 res 可写流
  3. fs.createReadStream
  4. fs.createWriteStream
  5. copy文件 整体读取整体写入 readfile writefile
  6. copy文件 流读取整体写入 createReadStream writefile
  7. copy文件 流读取流式写入 createReadStream createWriteStream;可以用管道pipe实现简化。
    数据的传输方法,1g的内存电脑拷贝5g的电影
    三种方式流式读取流式写入
    在这里插入图片描述

可读流copy文件


const fs=require("fs");
let read=fs.createReadStream("./events.js");
let data='';
read.on("data",(chunk)=>{
	data+=chunk;
	console.log(chunk);
});
read.on("end",()=>{
	fs.writeFileSync("./events2.js",data);
});

读写流配合

const fs=require("fs");
let read=fs.createReadStream("./events.js");
let write=fs.createWriteStream("./events3.js");
let data='';
read.on("data",(chunk)=>{
	writestream.write(chunk);
	//console.log(chunk);
});

读写流配合pipe

const fs=require("fs");
let read=fs.createReadStream("./events.js");
let write=fs.createWriteStream("./events4.js");
read.pipe(writestream);

尝试用流操作copy音乐
下午:
express框架
postman

zlib

可实现文件的压缩
在这里插入图片描述

express 框架

node作为服务器的框架 express koa
express 便于我们快速开发node api接口
在这里插入图片描述
在这里插入图片描述
注册逻辑
在这里插入图片描述
登录逻辑
获取用户内容
读取文件内容
对比
在这里插入图片描述

创建node服务器

接口书写

get方法

get方法的参数通过req.query req.url
post方法 express本身不能解析消息体的数据,需要通过第三方插件 body-parser 来解析
post 数据格式有2种 x-www-form-urlencode 表单模式 application/json json
不同的数据模式对应不同的解析方式
解析代码应该放到接口的上方
在这里插入图片描述
在这里插入图片描述

跨域问题

  • 通过第三方插件 cors解决 app.use(cors());
  • 设置头文件信息

作业:
通过express完善邮箱注册登录的功能
拓展:
预习MongoDB

猜你喜欢

转载自blog.csdn.net/Fishmann/article/details/84580914