fe-dev-server-plugin-mock v0.0.21
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.
11 months ago
11 months ago
11 months ago
11 months ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago