介绍
mock 是什么呢? 他是模拟接口请求的数据,并且可以随机生成测试数据,当后端还未好使,我们可以与后端沟通变量的名称,之后再靠 mock 来模拟数据,实现开发,但后端好了,直接替换接口就行了~~
文档请参考: mock
mock服务
mock 是模拟的接口,所以在正式打包后,mock 数据是无法使用,那么如果在开发时候不用mock数据,该怎么处理呢?
命令 npm run start:no-mock
就行
独立的mock服务
我们知道,有的时候 mock 数据 是可以和真实的 Api 请求并存的
但在打包后 mock 是无法使用的,那么能否启动一个 mock 服务呢?然后通过 nginx 代理到这个mock服务呢?
官方给出了一种方法: umi-serve
安装命令 yarn add global umi-serve
为了方便起见
我们可以再 package.json
中的 script 中加入 "serve":"umi-serve"
即可
下次启动 umi-serve 服务,只需在控制台中输入:npm run serve ,即可。
示例
接下来讲讲 Mock 如何在 Ant Design Pro V5 中的使用
所有的文件都在 mock
这个文件下书写
这里就不进行详细的解释了,总之通过 res.send
发送数据就行了
GET 请求
'GET /api/form/queryDetail': async (req: Request, res: Response) => {
const { detail } = req.query;
if (detail === 'introduce') {
res.send(
resData({
list: introduce,
anchorList: introduceAnchorList
}
))
}
res.send({
code: 400,
detail,
message: '请输入参数'
})
},
POST 请求
'POST /api/domesy/queryDetail': async (req: Request, res: Response) => {
const { detail } = req.query
if(detail === 'welcome') {
res.send(
resData({
list: welcome,
anchorList: welcomeAnchorList
}
))
return
}
res.send({
code: 400,
detail,
message: '请输入参数'
})
},