Express
0、DEMO地址
全部demo源码地址:https://github.com/yiyueqinghui/node—express-study-
1、是什么
node中的一种web框架,用于处理req,res;
2、安装express
npm install express
3、get、post请求
const express = require('express')
// 是一个 express的实例
const app = express();
// 路由传参
app.get('/name/:age',(req,res)=>{
let {age} = req.params;
res.json({
name:'tom',
age
})
})
//1、通过请求的类型get/post来区分请求
app.get('/demo',(req,res)=>{
res.json({
message:"hello express route from get demo"
})
})
app.post('/demo',(req,res)=>{
res.json({
message:"hello express route from post demo"
})
})
//2、通过uri区分请求
app.get('/user/byname',(req,res)=>{
let {name} = req.query;
res.json({
name
})
})
app.get('/user/byid',(req,res)=>{
let {id} = req.query;
res.json({
id
})
})
app.listen(3000,()=>{
console.log('server 启动成功!')
})
4、express中API的使用
app.all
方法的使用
const express = require('express')
const app = express()
//1、无论什么请求方法都可以,不区分请求方式
//app.all('/demo',(req,res)=>{
// res.json({
// message:"demo",
// method:req.method
// })
//})
//2、无论客户端使用任何uri,都能得到响应
app.all('*',(req,res)=>{
res.json({
message:'*',
method:req.method,
uri:req.path
})
})
app.listen(3000,()=>{
console.log('server 启动成功了')
})
app.use
方法的使用,路由切割
app.js
const express = require('express')
const app = express() // app,即application,web服务的实例
const memberRouter = require('./member.router');
const skuRouter = require('./sku.router');
//注册路由
app.use('/member',memberRouter) //第一个参数好像命名空间 ,也可以不写,但为了防止有相同的地址,一般要写,所以这里的接口地址/member/list
app.use('/sku',skuRouter) //第一个参数好像命名空间 ,接口地址/sku/list
app.listen(3000,()=>{
console.log('server 启动成功了')
})
member.router.js
const express = require('express')
const router = express.Router() //router与app定义api方法是一样的
router.get('/list',(req,res)=>{
res.json({
list:[
{
id:001,
name:'李四'
}
]
})
})
module.exports = router;
sku.router.js
const express = require('express')
const router = express.Router() //router与app定义api方法是一样的
router.get('/list',(req,res)=>{
res.json({
list:[
{
id:002,
name:"衣服",
price:100
}
]
})
})
module.exports = router;
获取接口ip+port,协议
//接口接收两个参数,req,res
//ip+port:
req.headers.host
//ip
req.host
//协议
req.protocol