express的初步使用

引入express

const express = require('express')
const bodyParser = require('body-parser')
const session = require('express-session')

创建服务

const app = express()
const port = 8086

app.listen(port, () => {
  console.log(`server success on ${port}`)
})

静态资源文件的处理

app.use(express.static('./static'))

middleware中间件

  • 中间件的本质就是一个函数.
  • 执行任何代码。
  • 对请求和响应对象进行更改。
  • 结束请求/响应循环。
  • 调用堆栈中的下一个中间件函数。
  • 中间件的执行顺序是按照书写的先后顺序执行的
app.use('/user', (req, res, next) => {
  //请求的path地址是以'/user' 开头的,例如'/user' ,'/user/add'
  next()
})

app.use((req, res, next) => {
  //相当于路劲匹配为* 即所有的请求都会走这个中间件
  next()
})

body-parser中间件

  • bodyParser
  • 如果是post/put请求
  • bodyParser.json() 如果传递的是json格式的字符串,会把请求主体传递的信息转为json格式的对象
  • bodyParser.urlencoded() 如果传递的是urlencoded格式的字符串(即user=shulu&password=123形式),会把它转为对象键值对的方式
  • 经这个中间件的这两个方法处理后,会把转化后的结果挂载到req.body上
app.use(bodyParser.json())
app.use(bodyParser.urlencoded())

api处理

  • req的常用属性 不是原生的

  • req.params 请求的路径参数信息

  • req.path 请求的路劲名称

  • req.query 请求的问号参数的内容(get请求都是这样传递的信息)

  • req.body 请求的方式是post时,我们使用body-parser中间件处理后,会把请求主体中的内容存放到body属性中

  • req.session 我们基于express-session中间件处理后,会把session操作放到这个属性上

  • req.cookies 我们基于cookie-parser中间件处理后,会把cookie的操作放到这个属性上

  • req的常用方法 不是原生的

  • req.get() 获取指定的请求头信息

  • res的常用方法 不是原生的

  • res.cookie(name, value, [opation]) 设置一些cookie信息,通过响应头set-cookie返回给客户端,客户端浏览器把cookie信息种到本地

  • res.json([body]) 向客户端返回json格式的字符串,但是允许我们写json对象,该方法会自动转为json,(执行该方法后会自动结束响应res.end)

  • res.redirect([status,] path) 响应是重定向的(默认状态吗302)

  • res.type(type) 设置相应内容的mime类型

  • res.status() 设置响应的HTTP状态码

  • res.sendFile(path [, options] [, fn]) 发送文件

  • res.send() 想发送啥就发送啥

get请求处理

app.get('/getUser', (req, res) => {

  res.send({
    message: 'ok'
  })
})

post请求处理

app.post('/home', (req, res) => {
  res.send({
    message: 'hello'
  })
})

你可能感兴趣的:(express的初步使用)