Node.js事件驱动
- 1.因为Node.js没有DOM,所以原生js的DOM事件都不能使用,于是创建了一个叫events的内置模块来解决这个问题。
- 2.事件驱动的使用
const events=require("events");//引入模块
const proto=events.EventEmitter.prototype;//events是一个构造函数,通过原型使用下面的方法
proto.on("事件名","事件处理函数");//声明事件
proto.emit("事件名")//调用事件,如果事件需要传递参数,用,隔开跟上参数
readline命令行读取
模块提供了一个接口,用于一次一行地读取可读流(例如 process.stdin)中的数据。 它可以使用以下方式访问:
const readline=require("readline");
const rl=readline.creataInterface({//创建了一个可以输入输出的接口
input: process.stdin,
output: process.stdout
});
rl.question('请输入您想说的话:', (answer) => {
if ( answer == '88' ) {
rl.close()
} else {
}
});
简易爬虫
- 1.通过http模块的get方法进行数据请求
- 2.进行数据分析,通过第三方模块cherrio进行数据清洗
- 3.发送给我们自己的网站进行渲染
Node.js的框架
- 1.express框架
- 2.koa框架,koa框架是express框架的进阶版
express
1.构成
- 中间件(中间件就是一个封装函数,具有一定的功能)
- express中间件的构成有哪些?
- 应用级中间件
- 路由中间件
- 错误处理中间件
- 中间件如何调用
-app对象来调用(调用express函数会返回一个app对象)
- app.use(中间件)
- 路由
- 前端:接口
- 后端:路由
2.跨域【后端跨域】
- 设置请求头
- response.setHeader("Access-Control-Allow-Origin",*);
- 利用第三方模块来跨域cors
3.使用工程化工具来构建一个完整的express项目
- 工程化工具/自动化工具/手脚架
- express-genetator
- express-gentator工具的使用
- 1.安装
- $cnpm install express-genetator -g
- $express -e 项目名称
- OR
- 2.不安装
- 保证你电脑中的npm版本大于5.2
- $npx express -e 项目名称
- 名词解释:-e 表示ejs文件,它是一个html模板
- 1.安装
- express-gentator工具的使用
- express-genetator
express-genetator
-
目录
- bin/www 为项目创建了一个服务器
- public 静态资源文件夹
- img
- style
- js
- routes 路由
- views
- 路由对应的模板,这个模板将来会发送给前端,发给前端前会被解析为html文件
- app.js 项目入口文件
- packge.json
- 表示项目启动脚本记录 、 项目所需要的依赖包【 插件 】
-
Node.js可以当做一个后端的角色
- 能不能给前端做接口
- 去熟悉项目运行思维
- package.json -> node ./bin/www -> app.js -> routes/index.js & users.js
-
后端测试接口
- postman
- insomnia