mocker-webpack-plugin
v1.3.1
Published
๐Mock data easily with webpack
Downloads
5
Readme
mocker-webpack-plugin
๐Mock data easily with webpack
Install
npm i -D mocker-webpack-plugin
webpack >= 4.x is supported
Use
// import
const MockerWebpackPlugin = require("mocker-webpack-plugin")
// Webpack plugin config
new MockerWebpackPlugin()
How to mock?
If you want to request /api/user
, consider your project path is:
Project
โโโ build
โ โโโ webpack.conf.js
โโโ mocks
โ โโโ api
โ โโโ user.js <--- It's here
โโโ node_modules
โโโ src
โโโ components
โโโ configs
โโโ pages
โโโ public
โโโ routers
And if you want to request /multi/level/url/like/this
, just create multi-level directory.
This plugin supports files like:
user.js
user.json
user/index.js
user/index.json
user
If using .js
file:
- support returning pure object (JSON)
- support accessing
request
andresponse
object (ref: express api - req)
To specify your mock catalogue, pass path
option like new MockerWebpackPlugin({path})
, default is ${WebpackConfigContext}/mocks
.
Examples
json
{
"status": 0,
"msg": "",
"data": {}
}
js
modules.exports = {
status: 0,
msg: "",
data: {
// ...
}
}
js (with express)
// GET /search?user=zphhhhh
module.exports = (req, res) => {
if (req.query.user) {
return {
status: 0,
msg: "",
data: {
greet: `hello, ${req.query.user}!`
}
}
} else {
return {
status: 1,
msg: "please login",
data: null
}
}
}
Options
interface MockerOptions {
/** set mock path (absolute path!), default to `${WebpackConfigContext}/mocks` */
path: String;
/** set webpack-dev-server mode, default to `before`, ref `WebpackConfig.devServer.before` */
mode: 'before' | 'after' | 'setup';
}