基于express和mock.js搭建自己的前后端分离Mock服务器

##基于express和mock.js搭建自己的前后端分离Mock服务器

  1. 运行$ npx express-generator api-server创建一个express项目
  2. $ cd api-server进入项目目录
  3. $ npm install安装项目所需要的依赖
  4. $ npm install nodemon -D安装nodemon
  5. $ npm install mockjs -S安装mockjs
  6. 打开项目目录下的package.json, 更改scripts:
    - "start": "node ./bin/www"
    + "start": "nodemon ./bin/www"
    
  7. 根据需要配置路由
  8. 比如,有一个叫users的路由挂载在/api/v1/users下,就可以这么来写这个mock数据
    // 引入express
    const express = require('express');
    // 只使用router
    const router = express.Router();
    // 引入Mock对象
    const Mock = require('mockjs')
    
    
    // 定义生成数据列表的方法
    const generateData = () => {
      // 使用Mock.mock方法来生成mock数据
      return Mock.mock({
        "code": 200,
        "data|12": [
          {
            "id": "@id",
            "title": "@ctitle(15, 25)",
            "author": "@cname",
            "volume": "@int(100, 300)",
            "createAt": "@int(10000000000000, 1554363040517)"
          }
        ]
      })
    }
    
    // 定义另外一个方法,用于生成单个数据
    const generateDataById = (id) => {
      return Mock.mock({
        "code": 200,
        data: {
          id,
          "title": "@ctitle(15, 25)",
          "author": "@cname",
          "volume": "@int(100, 300)",
          "createAt": "@int(10000000000000, 1554363040517)"
        }
      })
    }
    /* 获取用户列表 */
    router.get('/', function(req, res, next) {
      res.json(generateData())
    });
    /* 获取单个用户,根据用户的id, 这里有一个express通配符路由(动态路由) */
    router.get('/:id', function(req, res, next) {
      const  {
        id
      } = req.params
      res.json(generateDataById(id))
    });
    
    module.exports = router;
    
    

    这样我们就可以使用 http://localhost:port/users获取用户列表, 使用 http://localhost:port/users/任意的id参数获取用户信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值