service-mocker

? Next generation frontend API mocking framework

Github星跟踪图

Service Mocker

Travis CI
CircleCI
Coverage
Version
License

Build Status

Service Mocker is an API mocking framework for frontend developers. With the power of service workers, we can easily set up mocking services without any real servers. It sets developers free from intricate workflows, complex documentations and endless proxies from server to server.

Q: Is Service Worker ready?

A: No, not yet.

Q: Is Service Mocker ready?

A: Yes! Welcome to the future!

Installation

Since you are likely to run Service Mocker only during development, you will need to add service-mocker as a devDependency:

npm install service-mocker --save-dev

For legacy browsers, you may also need the polyfills:

npm install service-mocker-polyfills --save-dev

Features

  • No server is required.
  • Real HTTP requests and responses that can be inspected in modern browsers.
  • express style routing system.
  • IE10+ compatibility.

Hello new world

A typical mocker includes two parts: client and server. First, let's create a server script named server.js:

// server.js
import { createServer } from 'service-mocker/server';

const { router } = createServer();

router.get('/greet', (req, res) => {
  res.send('Hello new world!');
});

// or you can use the shorthand method
router.get('/greet', 'Hello new world!');

Then, we need to write a client script to connect to the server:

// app.js
import 'service-mocker-polyfills';
import { createClient } from 'service-mocker/client';

const client = createClient('path/to/server.js');

client.ready.then(async () => {
  const response = await fetch('/greet');

  console.log(await response.text());
});

After that, create a .html file and include ONLY the client script:

<script src="app.js"></script>

Now navigate your browser to your local dev server (e.g. http://localhost:3000). Open the console and you will see the following messages:

> [mocker:modern] connection established
>
> Hello new world!

Welcome to the future :clap:.

Working with webpack

While using webpack, it's recommended to use sw-loader to create a standalone server script:

import scriptURL from 'sw-loader!path/to/server.js';
import { createClient } from 'service-mocker/client';

const client = createClient(scriptURL);

client.ready.then(...);

Docs & Demos

Team

Dolphin Wood, Vincent Bel
:---:, :---:
Dolphin Wood, Vincent Bel

License

MIT

主要指标

概览
名称与所有者service-mocker/service-mocker
主编程语言JavaScript
编程语言JavaScript (语言数: 3)
平台
许可证MIT License
所有者活动
创建于2016-12-01 11:19:46
推送于2020-07-21 12:35:10
最后一次提交2017-10-30 12:20:38
发布数11
最新版本名称v2.1.2 (发布于 2017-10-30 12:20:38)
第一版名称v1.0.1 (发布于 2017-01-19 00:32:13)
用户参与
星数1k
关注者数13
派生数28
提交数479
已启用问题?
问题数27
打开的问题数6
拉请求数22
打开的拉请求数4
关闭的拉请求数4
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?