puer-mock

Puer + Mock.js = A configurable mock server with configurable mock(random) data.

  • Owner: ufologist/puer-mock
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

puer-mock

NPM version changelog license

Puer + Mock.js = A configurable mock server with configurable mock(random) data.

Start a mock server never ever so easy and configurable, no code needed, you only need config some mock API route and some mock data template, it all done!

features

  • mock server
  • configurable RESTful API route
    • API request
    • API response mock data
    • validate API request params
  • effective immediately when config changed
  • JSONP support
  • CORS support
  • built-in API doc

install

Please install puer first.

Puer - more than a live-reload server , built for efficient frontend development

npm install puer@1.x -g

And then install puer-mock package in your project root directory.

cd yourprojectdir
npm install puer-mock

If your project has a package.json file, suggest save puer-mock to devDependencies.

cd yourprojectrootdir
npm install puer-mock --save-dev

usage

  1. copy node_modules/puer-mock/example files to your project root directory

  2. cd yourprojectrootdir

  3. puer -a _mockserver.js

    You may define a npm script in package.json, then use npm run dev next time.

    "dev": "puer -a _mockserver.js"
    
  4. view mock API

  • open http://localhost:8000/api/configdemo-response/mock view mock API return mock data
  • open http://localhost:8000/api/configdemo-response/mock?callback=test view mock API return mock data by JSONP
  • open http://localhost:8000/_apidoc.html view built-in all mock API doc
  1. define your mock API in _mockserver.json
  2. view your mock API(Yes! it with immediate effect)

config

Config mock API in _mockserver.json.

The minimal _mockserver.json

{
    "api": {
        "GET /api/users": {
            "response": {}
        }
    }
}

Please view mockserver config doc for more detail info.

You can see more settings to config mock server in _mockserver.json.

  • comment is nice
  • config route and mock response data template is so easy
  • more data template please see Mock.js examples
  • disable a route is convenient
  • mock server will effective immediately when you changed _mockserver.json

customize

Customize launch mock server in _mockserver.js.

  • You may customize mock API doc

    • You may customize /_apidoc route direct service a more graceful doc

      // _mockserver.js
      module.exports = require('puer-mock')(null, null, function(mockConfig) {
          // 任你自由发挥
          return '<pre>' + JSON.stringify(mockConfig, null, 4) + '</pre>';
      });
      
    • You may customize /_apidoc.html which get mock API JSON from /_apidoc, you may totally implement it by yourself

  • You may customize config file and launch file

    If you do not use default _mockserver.json or _mockserver.js

    // use _mockserver2.json for config file
    //
    // _mockserver.js
    // puer -a _mockserver.js
    module.exports = require('puer-mock')(__filename, './_mockserver2.json');
    
    // use _mockserver2.js and _mockserver2.json
    //
    // _mockserver2.js
    // puer -a _mockserver2.js
    module.exports = require('puer-mock')(__filename, './_mockserver2.json');
    
  • Play it fun with your imagination.

    // _mockserver.js
    var puerMock = require('puer-mock');
    var routeConfig = puerMock();
    // 其实你完全可以这样来玩, 在这里接着定义 route 即可, 发挥你的想象力
    // 例如定义一个常用的 500 接口, 来测试服务器报错的情况
    routeConfig['GET /500'] = function(request, response, next) {
        response.status(500).end();
    };
    module.exports = routeConfig;
    

example

眼见为实耳听为虚, puer-mock 让你一秒钟就能拥有一个强大的 mock server, 所以请不要再自己手工做假数据了, 赶快尝试一下让你的工作效率翻番吧!

配置 API 并生成随机数据

puer-mock-example

查看所有的 API 接口文档

通过 /_apidoc.html 查看接口文档

puer-mock-api-doc-html

通过 /_apidoc 直接查看 JSON 数据, 即查看 mock server 配置了哪些 API(使用 FeHelper 插件 格式化了 JSON 数据)

puer-mock-api-doc

one more thing

谁需要这个工具

感谢 puer 提供了如此强大的 mock 机制, 感谢 Mock.js 带来的假数据, 我才有幸做了这么一个扩展工具.

Main metrics

Overview
Name With Ownerufologist/puer-mock
Primary LanguageHTML
Program languageJavaScript (Language Count: 2)
Platform
License:MIT License
所有者活动
Created At2016-08-18 08:07:35
Pushed At2020-02-29 04:49:06
Last Commit At2020-02-29 12:48:40
Release Count0
用户参与
Stargazers Count500
Watchers Count26
Fork Count63
Commits Count125
Has Issues Enabled
Issues Count16
Issue Open Count1
Pull Requests Count0
Pull Requests Open Count0
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private