Skip to content

zphhhhh/mocker-webpack-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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 and response 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';
}

About

πŸ–Mock data easily with webpack

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published