mocker

mocker:模仿者,模拟第三方返回 ,前后端分离开发时,前端可以通过mocker来模仿后端数据的返回,以react+webpack项目为例:

首先需要install  webpack-api-mocker 然后在 webpack.config.js文件中引入,同时引入已经写好的mocker文件(稍后展示) :

const apiMocker = require('webpack-api-mocker');
const mocker = require('./mocker/mocker');

在webpack.config.js中的devServer中加入如下代码:

before(app){
    apiMocker(app,path.resolve('./mocker/mocker.js')),{
        changeHost: true,
    }
}

mocker.js文件如下:

const proxy = {
    ['GET /demo']: {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;

 调用如下:

 Axios.get('/demo/api/user/list').then(res=>{
      console.log(res.data);
    })

即可返回 morker.js中相应数据。

你可能感兴趣的:(mocker)