express基础
# express基本概念
Express 是基于Node.js
平台,快速、开发、极简的Web
开发框架
Web
网站服务器API
接口服务器
# express中的路由
在Express
中,路由指的是客户端的请求与服务端处理函数之间的映射关系
路由的匹配过程
每当一个请求到达服务器之后,需要先经过路由的匹配,只有匹配成功之后,才会调用对应的处理函数
在匹配时,会按照路由的顺序进行匹配,如果请求类型
和 URL
同时匹配成功,则Express
会将这次请求,转接给对应的函数进行处理
# 模块化路由
创建单独的路由模块
router.js
const express = require('express')
const router = express.Router()
router.get('/user/list',(req,res)=>{
})
module.exports = router
1
2
3
4
5
6
2
3
4
5
6
导入路由模块
app.js
const router = require('./router')
app.use(router)
1
2
2
同样可以在路由模块中挂载路由前缀
app.use('/api/v1/',router)
# 基本使用
const express = require('express')
const app = express()
app.listen(80, () => {
console.log('express server runing at port 80')
})
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 监听GET请求
app.get('URL',function(req,res){
res.send({
name:'xx',
age:22
})
})
1
2
3
4
5
6
2
3
4
5
6
回调函数中的参数
req
请求对象
回调函数中的参数
res
响应对象
# 监听POST请求
app.post('URL',function(req,res){
})
1
2
3
2
3
回调函数中的参数
req
请求对象
回调函数中的参数
res
响应对象
# 响应数据
res.send()
# 获取URL的参数
通过 req.query
对象,可以获取打请求中携带的参数
app.get('/',function(req,res){
console.log(req.query)
})
1
2
3
2
3
获取动态参数
URL/user:id
通过 req.params
对象 :
匹配到的动态参数
app.get('/user/:id',function(req,res){
console.log(req.params)//{"id":"1"}
})
1
2
3
2
3
- 注意动态参数的名字可以自定义
- 可以有多个动态参数
# 托管静态资源
express.static()
,函数可以非常方便地创建一个静态资源服务器
const express = require('express')
const app = express()
app.use(express.static('./files'))
app.listen(80, () => {
console.log('express server runing at port 80')
})
1
2
3
4
5
6
7
2
3
4
5
6
7
可以访问文件夹下的所有资源
- 注意 :可以托管多个静态资源目录
- 不同目录的同名文件会根据先后顺序选定访问的页面
# 挂载路径前缀
app.use('/public',express.static('public'))
1
编辑 (opens new window)
上次更新: 2023/02/07, 14:51:48