全部
常见问题
产品动态
精选推荐

前端该如何优雅地Mock数据

管理 管理 编辑 删除


一、什么是Mock

Mock在软件开发领域,我们将其理解成 “模拟数据”、“虚假数据”。

二、Mock的好处

好处有很多,一句话概括,有了Mock,前后端人员只需要定义好接口文档就可以开始并行工作,互不影响。


三、实现Mock


1.安装node.js


2.安装其他依赖包

  • express (express框架): npm install express -g
  • express-generator (express项目生成插件): npm install express-generator -g
  • mockjs(模拟数据生成库): npm install mockjs


3.生成新的express项目并编写服务端


  • 新建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



请求参数处理



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
    );
});



写在最后


  • 作为一个前端开发,学会Mock是最基本的事情,不仅可以提高开发效率还可以把接口信息掌握在自己的手上。
  • 关于mock还有其他的的功能,这次只是简单的示例分享,有兴趣深挖的建议自行百度学习。


请登录后查看

乡关何处 最后编辑于2022-11-12 14:10:28

快捷回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
回复从新到旧

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest==1? '取消推荐': '推荐'}}
{{item.floor}}#
{{item.user_info.title}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

作者 管理员 企业

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}   {{itemc.ip_address}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
回复
回复
1595
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

CRMEB-慕白寒窗雪 作者
社区运营专员---高冷のBoy | 呆萌のGirl

回答

2424

发布

1777

经验

46244

快速安全登录

使用微信扫码登录
{{item.label}} {{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
加精
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 开源下载 CRMEB官方论坛 帮助文档
返回顶部 返回顶部
CRMEB客服