0.0.21 • Published 11 months ago

fe-dev-server-plugin-mock v0.0.21

Weekly downloads
-
License
ISC
Repository
-
Last release
11 months ago

fe-dev-server-plugin-mock

A plugin for JSON API mock

Config

dir

string - the location of mock files

defaultMockFileCfg

object - default config of mock file return

defaultMockFileCfg.delay: number - response delay time in milliseconds

defaultMockFileCfg.delayOffset: number - the maximum delay time offset in milliseconds

defaultMockFileCfg.headers: object - the extra response headers

mockFileKeyFormatter

function - change the mockFileKey for the request in order to use other mock file for response

({
  // original: POST /api/users?_method=GET => /api/users/post.js
  // formatted: POST /api/users?_method=GET => /api/users/get.js
  mockFileKeyFormatter: ({ headers, pathname, method, search, originalMockKey }) => {
    if (search._method) {
      return {
        method: search._method,
        pathname,
      };
    }
    return originalMockKey;
  },
});

How to use

Create mock file in the configed directory (filepath format like ${pathanme}/${method}.js), mock plugin will reading these files and make response, for examples:

api/login/post.js

// should be active
exports.enable = true;

exports.mock = ({ request, params, query, body, method, headers }) => ({
  // response data
  data: {},
  // the response will be delayed in 90~110 ms
  delay: 100,
  delayOffset: 10,
  // extra headers
  headers: {
    'custom-header': 'value',
  },
  // response status code
  statusCode: 200,
});

Also, dynamic params in route is supported, for examples, api/users/{id}.js will make response to /api/users/1 or /api/users/2. And you will get params { id: 1 / 2 } in mockFile's mock function.

Any request can not find specify mock file or mock file is inactive, it will be skipped to next plugin.

0.0.20

11 months ago

0.0.21

11 months ago

0.0.19

11 months ago

0.0.18

11 months ago

0.0.13

2 years ago

0.0.14

2 years ago

0.0.15

2 years ago

0.0.16

2 years ago

0.0.17

2 years ago

0.0.10

2 years ago

0.0.11

2 years ago

0.0.12

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago