Express框架API详解与实例演示(上)

107 阅读1分钟

本次课程我们会学习一下express的相关api。

  1. 课前准备
  • 一个好用的请求构造工具
  • Node.js 10+
  • npm 6.9+ 或者 yarn 1.19+
  • express@4
  1. 一些基础概念
  • 子应用
var app=express()/ /主应用
var admin=express() //另一个应用
app.use('/admin', admin) //admin作子应用
  • 挂载点
  • '/admin'就是admin的挂载点
  • HTTP
    • 所有后台框架都会用到很多HTTP知识
  1. Express的api之 express.json
  • 新建express-demo,运行yarn inityarn add express
  • 创建app.js并启动服务
const express = require('express')
const app = express()

app.use((request, response, next)=>{
  response.send('hi')
  next()
})

app.listen(3000, ()=> {
  console.log('listen 成功')
})
  • 使用postman构造一个post请求,我们需要监听request的data事件,拿到对象

app.use((request, response, next)=>{
  request.on('data', (chunk)=> {
    console.log('chunk1', chunk.toString())
  })
  response.send('hi')
  next()
})
  • 这样写很麻烦,可以直接通过内置的express.json()拿到数据
app.use(express.json())
app.use((request, response, next)=>{
  console.log(request.body)
  response.send('hi')
  next()
})
  1. Express的api之 express.static
  • 这个api可以用来作为静态服务器
  • 使用post构造请求index.html,index.html放在yyy下,它会在yyy下找这个静态文件
  • 如果yyy下没有找到index.html就走hi的逻辑
app.use(express.static('yyy'))
app.use((request, response, next)=>{
  console.log(request.body)
  response.send('hi')
  next()
})

app.listen(3000, ()=> {
  console.log('listen 成功')
})

  • express.xxx主要是这两个api,还有一些其它的可以参考文档,比如express.urlencoded等,就是把请求里的url中的参数放到body
const express = require('express')
const app = express()


app.use(express.urlencoded())
app.use((request, response, next)=>{
  console.log(request.body)
  response.send('hi')
  next()
})

app.listen(3000, ()=> {
  console.log('listen 成功')
})