webpack中如何mock数据

背景:

在react+webpack项目中前端如何mock数据,以模拟整体项目运行流程,不用等待后端人员提供接口。

解决方法:

本文使用 mocker-api mock数据接口。下面说明在项目中如何使用。

  1. 安装mocker-api插件
    在项目中安装mocker-api插件
    npm install mocker-api --save-dev
  2. 项目中新建mock文件夹,在该文件夹中新建mocker.js文件,用来mock数据以及接口。该文件格式如下:
const proxy = {
  'GET /api/user': { id: 1, username: 'kenny', sex: 6 },
  'GET /api/user/list': [
    { id: 1, username: 'kenny', sex: 6 },
    { id: 2, username: 'kenny', sex: 6 }
  ],
  'POST /api/login/account': (req, res) => {
    const { password, username } = req.body
    if (password === '888888' && username === 'admin') {
      return res.send({
        status: 'ok',
        code: 0,
        token: 'sdfsdfsdfdsf',
        data: { id: 1, username: 'kenny', sex: 6 }
      })
    } else {
      return res.send({ status: 'error', code: 403 })
    }
  },
  'DELETE /api/user/:id': (req, res) => {
    console.log('---->', req.body)
    console.log('---->', req.params.id)
    res.send({ status: 'ok', message: '删除成功!' })
  }
}
module.exports = proxy

上面定义了四个接口,每个接口的key都为请求方法和路径的组合字符串,value为json或者函数,表示返回结果。

  1. 在webpack.config.js中引入mocker-api
const apiMocker = require('mocker-api')

在devServer的before钩子中引入上述mocker.js

module.exports = {
....
  devServer: {
    before (app) {
      apiMocker(app, path.resolve('./mock/mocker.js'))
    }
  }
....
}
  1. 使用
    在代码中直接像请求后端接口一样对mock数据进行请求即可。
fetch('/api/user').then(res => res.json())
     .catch(error => console.error('Error:', error))
     .then(response => console.log('Success:', response));

参考文档:
Webpack最简单的方式Mock API https://segmentfault.com/a/1190000013220134

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在现在的前端开发中,前后端分离、模块化开发、版本控制、文件合并与压缩、mock数据等等一些原本后端的思想开始...
    Charlot阅读 5,653评论 1 32
  • 写在开头 先说说为什么要写这篇文章, 最初的原因是组里的小朋友们看了webpack文档后, 表情都是这样的: (摘...
    Lefter阅读 5,432评论 4 31
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 webpack介绍和使用 一、webpack介绍 1、由来 ...
    it筱竹阅读 11,444评论 0 21
  • 李听十二岁的时候发现自己有了一种超能力,就是可以在下雨的前一天预知第二天会下雨。 第一次发现这个超能力的时候她十二...
    山间夜雨阅读 938评论 4 4
  • 鲁迅说 自己的文章是挤出来的 我现在 是最接近大文豪的时刻 今天 给学生上课时 听说了个现实问题 男孩一家去游玩 ...
    黄金黎明阅读 177评论 0 0

友情链接更多精彩内容