0.0.21 • Published 4 months ago

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

Weekly downloads
-
License
ISC
Repository
-
Last release
4 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

4 months ago

0.0.21

4 months ago

0.0.19

4 months ago

0.0.18

4 months ago

0.0.13

1 year ago

0.0.14

1 year ago

0.0.15

1 year ago

0.0.16

1 year ago

0.0.17

1 year ago

0.0.10

1 year ago

0.0.11

1 year ago

0.0.12

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago