支持浏览器和 Electron 的轻量级 JSON 文件数据库

简单易用的本地 JSON 数据库,使用原生 JavaScript API 进行查询,用 TypeScript 编写。(支持 Node、Electron 和浏览器)支持浏览器和 Electron 的轻量级 JSON 文件数据库

概述

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

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!