1.特性 :
上手简单,学习门槛低
具有丰富的基础API支持
强大的路由功能
灵活的中间件机制及吩咐的第三方中间支持
性能接近原生Node
安全稳定,代码测试覆盖率进百分之百
能做什么?
传统Web网站
API接口服务器
服务端渲染中间层
开发辅助工具
自定义集成框架
如何创建?
1.基础创建 :
npm init
npm install express --save
2.模板创建
npx express-generator
案例 :
const express = require('express') const app = express() const fs = require('fs') // get请求 app.get('/',(req,res)=>{ fs.readFile('./db.json','utf-8',(err,data)=>{ if(!err){ const newdata = JSON.parse(data).user console.log(newdata); // express 返回采用的是send res.send(newdata) }else{ // 状态码 res.status(500).json({err}) } }) }) // 可以接受post 为 'content-type': 'application/x-www-form-urlencoded' 的数据 加了req.body才可以接受到 app.use(express.urlencoded()) // 可以接受post 为 'content-type': 'application/json' 的数据 加了req.body才可以接受到 app.use(express.json()) // post请求 app.post('/',(req,res)=>{ // 获取请求头的信息 // console.log(req.headers); // 接受发送过来的数据 // console.log(req.body); // 获取发送过来的数据 const body = req.body // 读取数据,获取到最后的id fs.readFile('./db.json','utf-8',(err,data)=>{ // 读取原本db.json的全部 const newData = JSON.parse(data) // 得到最后一个id let newId = newData.user[newData.user.length-1].id+1 // 得到最后一个id,再添加入发送过来的数据里面 body.id = newId // 把原本db.json的数据添加上发送过来的数据 newData.user.push(body) fs.writeFile('./db.json',JSON.stringify(newData),(err,data)=>{ if(!err){ // 返回出去的状态码和数据 res.status(200).json({ message:true }) } }) }) }) // 修改id为xx 的数据 http://127.0.0.1:3031/3 app.put('/:id',(req,res)=>{ // 得到id console.log(req.params.id); const id = req.params.id // 发送过来的数据 const body = req.body console.log(req.body); // 先获取到 db.json的数据 fs.readFile('./db.json','utf-8',(err,data)=>{ if(!err){ // 获取全部的数据 const newData = JSON.parse(data) console.log(newData); // 获取user的数据 const userData = newData.user // 判断id的数据存在不? const idBody = userData.find(item=>item.id == id) console.log(idBody); // 不存在返回 if(!idBody){ res.status(403).json({ error:'不存在数据' }) return; } // 存在 // 原本id的name = 传递过来的数据有,那么久用传递过来的数据,没有就用原本的数据 idBody.username = body.username ? body.username : idBody.username idBody.age = body.age ? body.age : idBody.age // 把新的idbody 放入 userdata userData[id-1] = idBody console.log(idBody); console.log(newData); // 写入 fs.writeFile('./db.json',JSON.stringify(newData),(err,data)=>{ if(!err){ // 返回出去的状态码和数据 res.status(200).json({ message:'修改成功' }) } }) } }) }) app.listen(3031,()=>{ console.log('127.0.0.1:3031'); })
中间件
标签:body,req,const,框架,express,基础,json,id From: https://www.cnblogs.com/qd-lbxx/p/16780307.html