nodejs的express学习

一、安装express

npm i express

二、express应用

1.导入express

const express = require("express")

2.实例化express

const app = express()

3.监听访问并响应

//user 接口名
//req 请求对象
//res 响应对象
//res.send 响应内容

get请求

app.get("/user",(req,res) => {
    res.send({
  status:200
    })
})

post请求

app.post("/user", (req,res) => {
  res.send({
  status:200
    })
})

4.启动express

app.listen(80,() => {
  console.log("http://127.0.0.1")
})

以上是最简单的express的应用

三、express的进一步使用

1.router的使用

项目中请求接口较多,可以将项目的请求单独抽离出来。如:router.js

1)导入router

const express = require("express")

2)实例化router

const router = express.Router()

3)使用router监听接口访问并响应

router.get("/user",(req,res) => {
    res.send({
  status:200
    })
})

post请求

router.post("/user", (req,res) => {
  res.send({
  status:200
    })
})

4)导出router

module.exports = router

5)将router挂在到express上

const router = require("./router")
app.use(router)

2.中间件的使用

中间件可以对请求数据进行处理,之后可以将处理的内容交给下一个中间件或者接口监听函数进行处理
中间间函数比接口监听函数多了一个next参数

1)全局中间件

app.use((req,res,next) => {
  console.log("全局中间件")
  next()
})

2)局部中间件

router.get("/user",(req,res,next) => {
    console.log("局部中间件")
  next()
})

3)内置中间件

//对json格式的请求体数据进行处理,使用后可以在req.body中获取请求体中数据

app.use(express.json())

//对x-www-form-urlencode格式的请求体数据进行处理,使用后可以在req.body中获取请求体中数据

app.use(express.urlencoded({extended:false}))

4)第三方中间件

npm i body-parser
const parser = require("body-parser")
app.use(parser.urlencoded({extends:false}))

5)处理错误的中间件

处理项目中出现的错误,比一般的中间件多了个error参数

app.use((error,req,res,next) => {
    res.send(error.message)
})

3.使用中间件处理跨域问题

//设置跨域访问

app.use(function(req, res, next) {
  console.log("跨域")
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "X-Requested-With,X-Tag");
  res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
  res.header("X-Powered-By",' 3.2.1')
  res.header("Content-Type", "application/json;charset=utf-8");
  next();
});
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容