一、手写API
1,接口
接口:后端为前端提供的动态资源,Node.js编写路由就会产生接口。
JSON(JS对象表示法):表示一种数据形式,通常是对象或者数组,属性名必须是双引号,属性值是字符串的话,也必须是双引号。是一种字符串形式的对象
请求方式
get 获取资源(查询数据)
post 新建资源(插入数据)
delete 删除资源(删除数据)
put 修改资源(修改数据)
响应结果
JSON: 包含状态码(人为规定)、消息说明、查询的数据
传参方式
get/get传递
delete/params传递
post/put post传递
2、错误处理中间件
项目中,通常处理路由中SQL命令出现的错误,属于后置中间件
router.post('/add', (req, res, next) => {
next(错误内容) //往后执行错误处理中间件
})
// 处理所有路由传递过来的错误
app.use((err, req, res, next) => {
//err 路由传递的错误
res.send({
code: 500,
msg: '服务器端错误'
})
})
3、Apipost
模块的接口文档
二、express项目生成器(脚手架)
https://www.expressjs.com.cn/starter/generator.html
可以快速搭建express项目结构
1.创建一个空目录
在目录下打开命令行(cmd)
2.生成项目
npx -v
npx express-generator
npm 下载安装
npx 可以临时性的下载一个包,可以执行包文件,会删除临时下载的包
3.安装项目依赖的包
npm install
会自动下载安装package.json中记录的包
4.启动项目
npm start
启动项目,运行的是package.json中scripts下start 对应的命令
node ./bin/www
启动后,占用的端口是3000
三、PM2
Node.js下的一个第三方模块,是Node.js的进程管理器。
特点:
自动重新启动
后台运行
服务信息查看,例如:内存,CPU
最大内存重启
1,安装
全局安装
npm install pm2 -g
使用pm2启动Node项目
pm2 start 项目的启动文件 --name 自定义名称 --watch
停止项目
pm2 stop name|pid
面试题
当蝇虎在浏览器输入一个URL以后都经历了什么
1,通过DNS服务器,获取到域名对应的服务器IP地址
2,浏览器和web服务器建立连接:三次握手
3,建立连接以后,客户端向服务器端发送消息
4,服务器端收到消息,处理请求,发送响应消息
5,客户端和服务器端断开连接:四次挥手
6,客户端解析服务器端响应的消息,渲染数据
本人练习代码已经全部上传到gitee仓库,点击可以查看