本次课程我们会学习一下express的相关api。
- 课前准备
- 一个好用的请求构造工具
- Node.js 10+
- npm 6.9+ 或者 yarn 1.19+
- express@4
- 一些基础概念
- 子应用
var app=express()/ /主应用
var admin=express() //另一个应用
app.use('/admin', admin) //admin作子应用
- 挂载点
'/admin'就是admin的挂载点- HTTP
- 所有后台框架都会用到很多HTTP知识
- Express的api之
express.json
- 新建express-demo,运行
yarn init,yarn 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()
})
- 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 成功')
})