美文网首页
Express API总结

Express API总结

作者: lzb30 | 来源:发表于2020-11-19 22:14 被阅读0次

Express API主要分为五部分:

  • express.xxx 内置中间件
  • app.xxx 应用设置(如模板配置、中间件、挂在路由)
  • req.xxx 操作请求
  • res.xxx 操作响应
  • router.xxx 操作路由

1.express.xxx

主要是一些内置中间件,比如express.json(),express.static()

express.json()

对json进行处理,把处理后的数据挂载到req.body

  • 使用
app.use(express.json())

express.static(root, [options])

对静态文件做处理,root表示静态文件存放的目录

  • 使用
app.use(express.static('public'))  // public就是存放静态文件的目录

2. app.xxx

app.set('views' | 'view engine', xxx)

这个api主要用来配置信息,比如,我们想配置模板引擎,可以用app.set('view engine', 'ejs')

app.get('env') // 获取配置信息

app.get是一个多态的方法,可以接受一个参数,或两个参数。一个是用来获取配置信息,一个是用来获取get请求。

  • 获取配置信息 app.get('env')
  • 处理get请求 app.get('/xx', fn)
  • 其他请求方法 app.post | app.put | app.delete

app.render()

用于渲染模板页面

app.use()

使用中间件

3. request.xxx

req.get()

获取请求头相关的信息,比如获取Content-Type

req.get('Content-Type')

req.params

获取命名路由的参数,比如路由是/user/:name,那么name属性可以通过req.params.name获取到。

// GET /user/fang
console.log(req.params.name)
// => 'fang'

req.range(size)

如果文件支持分片下载,可以通过这个方法来设置分片的范围。
range相关的知识可以参考 MDN文档

4.response.xxx

res.send([body]) / res.sendFile(path)

send可以用来发送HTTP响应。body参数可以是一个buffer,字符串,对象或者是数组。

res.send(Buffer.from('whoop'))
res.send({ some: 'json' })
res.send('<p>some html</p>')
res.status(404).send('Sorry, we cannot find that!')
res.status(500).send({ error: 'something blew up' })

sendFile就是用来发送一个文件

res.render(view) / res.download()

render是用来渲染一个页面,然后发送给客户端

// send the rendered view to the client
res.render('index')

res.headersSent

响应是否发送请求头

res.status()

可以用来设置HTTP响应状态

res.set() / res.get()

set和get可以用来设置和获取请求头相关的信息

res.format()

可以针对不同的Content-Type 返回不同的内容

res.format({
  'text/plain': function () {
    res.send('hey')
  },

  'text/html': function () {
    res.send('<p>hey</p>')
  },

  'application/json': function () {
    res.send({ message: 'hey' })
  },

  'default': function () {
    // log the request and respond with 406
    res.status(406).send('Not Acceptable')
  }
})

5.router.xxx

没有需要学习的api,router就是一个阉割版的app

相关文章

网友评论

      本文标题:Express API总结

      本文链接:https://www.haomeiwen.com/subject/impciktx.html