简单易用的本地 JSON 数据库,使用原生 JavaScript API 进行查询,用 TypeScript 编写。(支持 Node、Electron 和浏览器)
概述
Mockend 可在几秒钟内使用随机数据创建虚假的在线 REST 或 GraphQL 服务器。它可用于以下用途:
-
在没有完整后端的情况下工作 -
构建演示或原型 -
教学网络开发 -
提供相关学习 API
配置
Mockend 配置有关每个字段的详细信息可以在文档中找到,示例:
key: YOUR_SECRET_KEY # prevents unauthorized access
models:
Post: # models must be singular and CamelCased
belongsTo: [User] # Relations will be used in REST and GraphQL
hasMany: [Comment]
count: 50 # generate 50 items
fake:
title: loremWords # random generator have default values
body: { loremWords: [3, 10] } # but you can pass arguments for some
data: [
{ title: some non-random title }, # update title for post#1
{ title: some non-random title }, # update title for post#2
]
Comment:
belongsTo: [Post]
count: 100
fake:
email: email
body: loremWords
User:
hasMany: [Post]
# You can also provide all the data yourself and not use random generators
data: [{ name: Alice }] # create a single user
GraphQL 端点
GraphQL 端点会根据.mockend.json 文件自动配置。可以查询、过滤、排序和访问嵌套资源。
示例:
{
posts {
id
title
cover
}
}
{
posts(limit: 5, orderBy: { createdAt: desc }) {
id
title
}
}
{
posts(where: { category: { eq: "one" } }) {
id
title
comments {
email
body
}
}
}
随机值生成器
Mockend 为姓名、电子邮件、地址等常用字段提供随机生成器… 可以在下面找到所有可用的带有参数的生成器的列表。参数可以省略,Mockend 将使用一些默认值。
models:
User:
fake:
_count: 10
name: firstName
online: { bool: 90 } # generators can have parameters
private: bool # if it's omitted a default value will be used
password: password
将创建以下数据:
[
{ "id": 1, "name": "Tony", "online": true, "private": false, "password": "Kf8@#aw!" },
...
]
自定义数据
设定数据
如果不想使用随机值,请_.data 使用,例如:
models:
Post:
data: [{ title: 'Title 1' }, { title: 'Title 2' }]
当列出所有资源时,Mockend 将发送:「GET mockend.com/…/posts」
[
{ "id": 1, "title": "Title 1" },
{ "id": 2, "title": "Title 2" }
]
添加随机值
通过添加以下内容来更改以前的配置:
-
count 控制应返回多少资源 -
title 和的随机字符串生成器 author
models:
Post:
fake:
_count: 10
title: { loremWords: [1, 3] }
author: name
Post:
data: [
{ title: Title 1 },
{ title: Title 2 },
]
[
{ "id": 1, "title": "Title 1" },
{ "id": 2, "title": "Title 2" }
{ "id": 3, "title": "lorem ipsum" },
// ...
]
传送门
开源协议:MIT license
开源地址:https://github.com/typicode/lowdb
项目合集:https://github.com/OpenTechCol/OpenTechCol
-END-
原文始发于微信公众号(开源技术专栏):支持浏览器和 Electron 的轻量级 JSON 文件数据库
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/155136.html