什么是express
: 是基于Node.js 平台 , 快速 , 开放 , 极简 的Web开发框架
本质上是一个npm第三方包 , 提供了快速创建Web服务器的便捷方法
http内置模块与express的关系类似于 Web API 与 jQuery的关系 , 后者是基于前者进一步封装出来的
安装
npm i express@4.17.1
创建基本的服务器
//导入express
const express = require('express')
//创建服务器
const app = express()
//启动服务器
app.listen(80, () => {
console.log('running at http://127.0.0.1')
})
监听请求
- get请求
app.get('url', (req, res) => {
//处理函数
})
req :请求对象 , 包含了与请求相关的属性和方法
res: 响应对象 , 包含了与响应相关的属性和方法
- post请求
app.post('url', (req, res) => {
//处理函数
})
把内容响应给客户端
通过res.send()
方法 , 把处理好的内容 , 发送给客户端
app.get('url', (req, res) => {
//处理函数
res.send({name: 'Allen', age: '32'})
})
获取url中携带的查询参数
通过req.query
对象 , 可以获取 在get
请求里 客户端url携带的参数
app.get('/', (req, res) => {
//比如客户端的地址是 http://127.0.0.1/user?name=Allen 当使用req.query
console.log(req.query)
//打印出来的是 {name: Allen}
})
获取url 的动态参数
通过req.params
对象 , req.params包含路由参数(在URL的路径部分)
app.get('/user/:id', (req, res) => {
//比如客户端的地址是 http://127.0.0.1/123 当使用req.params
console.log(req.params.id)
//打印出来的是 {id: 123}
})
req.query和req.params两者的区别
req.query
是用在get请求中req.params
用在get或post请求中都可以req.query
获取 当 地址是http://127.0.0.1/user?name=参数
时 , 获取结果为{name: 参数}req.params
更优雅的获取参数 它获取当地址为http://127.0.0.1/参数
时 , 获取req.params.id
结果为{id: 参数}