# 介绍

Mokia 是一套开箱即用的数据模拟工具,为前后端分离应用提供一个简单便捷、灵活实用的拟真服务端程序。

# 特性

# 基本用法

创建入口文件(index.js):

module.exports = {
  port: 3000,
  'GET /users'() {
    return this.list(() => ({ id: this.uuid(), name: this.fullName() }));
  },
  'GET /users/:id'(req) {
    return { id: req.params.id, name: this.fullName() };
  },
};

启动本地服务器:

npx mokia index.js --watch

WARNING

需要注意的是,这里的路由方法不能使用箭头函数代替,否则this将无法访问生成器函数。

# 进阶用法

为了便于维护和代码复用,可以使用TypeScriptES6 Class方式编写数据结构:

// index.ts

import mokia from 'mokia';

class User {
  @mokia.uuid()
  id: string;

  @mokia.fullName()
  name: string;

  constructor(id?: string) {
    if (id) this.id = id;
  }
}

class Article {
  @mokia.uuid()
  id: string;

  @mokia.generate(User)
  author: User;

  @mokia.passage()
  content: string;

  constructor(id?: string) {
    if (id) this.id = id;
  }
}

export default mokia.defineConfig({
  port: 3000,
  'GET /users': mokia.list(User),
  'GET /users/:id': (req) => new User(req.params.id),
  'GET /articles': mokia.list(Article),
  'GET /articles/:id': (req) => new Article(req.params.id),
});

使用这种方式,你需要将mokia安装到你的项目依赖中:

npm install mokia --save

然后将以下命令添加到package.jsonscripts中:

{
  "scripts": {
    "mock": "mokia index.ts --watch"
  }
}

这样就可以通过 npm 命令启动服务器了:

npm run mock