一、什么是Mock
Mock在軟件開發(fā)領(lǐng)域,我們將其理解成 “模擬數(shù)據(jù)”、“虛假數(shù)據(jù)”。
二、Mock的好處
好處有很多,一句話概括,有了Mock,前后端人員只需要定義好接口文檔就可以開始并行工作,互不影響。
三、實(shí)現(xiàn)Mock
1.安裝node.js
2.安裝其他依賴包
- express (express框架): npm install express -g
- express-generator (express項(xiàng)目生成插件): npm install express-generator -g
- mockjs(模擬數(shù)據(jù)生成庫): npm install mockjs
3.生成新的express項(xiàng)目并編寫服務(wù)端
- 新建server.ts
import express, {
Express,
Router,
Request,
Response,
NextFunction,
} from "express";
import Mock, { Random } from "mockjs";
const app: Express = express();
const router: Router = express.Router();
app.use("*", (req: Request, res: Response, next: NextFunction) => {
res.header("Access-Control-Allow-Origin", "*");
next();
});
app.use("/api", router);
router.get("/list", (req: Request, res: Response) => {
let currPage = req.query;
res.json(
Mock.mock({
"data|10": [
{
"id|+1": 1,
name: "@cname",
time: "@datetime", //日期先忽略
"source|80-100": Random.natural(80, 100),
},
],
})
);
});
app.listen(9000, (): void => {
console.log("success serve");
});
- 開命令行,輸入node server.js
- 在瀏覽器中輸入:http:localhost:9000/api/list
請求參數(shù)處理
router.get("/index", (req: Request, res: Response) => {
console.log(req.query);
let num = req.query.num;
let name_query = req.query.name;
let res_body = {
"code": 200,
"msg": "成功",
"data": {
}
}
if (num=='0'){
res_body.data={
"query_value_name" : name_query
}
}else{
res_body.data={
"body_value_name" : '小何'
}
}
res.json(
res_body
);
});
寫在最后
- 作為一個(gè)前端開發(fā),學(xué)會Mock是最基本的事情,不僅可以提高開發(fā)效率還可以把接口信息掌握在自己的手上。
- 關(guān)于mock還有其他的的功能,這次只是簡單的示例分享,有興趣深挖的建議自行百度學(xué)習(xí)。