暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Nhost:使用GraphQL的开源 Firebase 替代方案

原创 小小亮 2022-11-04
2094

Nhost 是开源 GraphQL 后端(Firebase Alternative)和开发平台。Nhost为现代后端提供构建出色数字产品所需的通用构建块。


Nhost 是 GraphQL 的开源 Firebase 替代方案,构建时考虑到以下几点:

  • 开源
  • GraphQL
  • SQL
  • 优秀的开发者体验

Nhost 由开源软件组成:

  • 数据库:PostgreSQL
  • 即时 GraphQL API:Hasura
  • 身份验证:Hasura Auth
  • 存储:Hasura 存储
  • 无服务器函数:Node.js(JavaScript 和 TypeScript)
  • 用于本地开发的Nhost CLI

Nhost 特点

内置Postgres 数据库

内置世界上最先进的关系数据库。

GraphQL API

Instant Realtime GraphQL API 基于您在数据库中的表和列。

实时 GraphQL API

GraphQL API 已内置订阅以实时同步数据。

Hasura

GraphQL API、基于角色的权限、Web 控制台、事件触发器、Cron 作业。

验证

使用电子邮件、魔术链接、SMS、Google、Facebook 等登录用户。

存储(使用 CDN)

让用户上传和下载图片、文档和其他文件。

无服务器函数

使用 JavaScript 和 Typescript 以无限规模运行自定义代码。

命令行界面

在开发期间使用 Nhost CLI 在本地运行完整的 Nhost 堆栈。

GitHub 集成

使用您喜欢的工作流程(`git push`)部署数据库和后端更改。


Nhost 适用于所有前端框架以及所有前端托管平台



Nhost 架构图

Nhost架构图


开始使用

选项 1:Nhost 托管平台

  1. 登录到Nhost
  2. 创建 Nhost 应用程序。
  3. 完毕。

选项 2:自托管

由于 Nhost 是 100% 开源的,因此您可以自托管整个 Nhost 堆栈。查看示例docker -compose 文件以自托管 Nhost。

登录并发出 Graphql 请求

安装@nhost/nhost-js包并开始构建您的应用程序:

import { NhostClient } from '@nhost/nhost-js'

const nhost = new NhostClient({
  subdomain: '<your-subdomain>',
  region: '<your-region>'
})

await nhost.auth.signIn({ email: 'elon@musk.com', password: 'spaceX' })

await nhost.graphql.request(`{
  users {
    id
    displayName
    email
  }
}`)


数据库

每个 Nhost 项目都有自己的Postgres 数据库Postgres 是世界上最先进的开源关系数据库,也是最受开发人员欢迎的 SQL 数据库

管理数据库的三种方法:

  1. Nhost 数据库 UI(推荐)。
  2. Hasura Console。
  3. 直接连接到数据库。

通常,您应该public为您的项目使用架构。也可以添加自定义模式以进行更高级的使用。

这两个模式是为Nhost AuthauthNhost Storage保留的您可以修改权限添加关系但是,切勿修改任何表或删除 Nhost 在模式中添加的关系。storageauthstorage


Postgres访问

可以使用您最喜欢的 Postgres 客户端直接访问您的 Postgres 数据库。

对于 2022 年 9 月之前的项目,无法通过连接字符串直接连接到数据库。我们正在努力进行一键式修复,预计将于 2022 年 10 月推出。

转到左侧菜单中的设置,然后单击数据库您将找到连接到数据库的连接字符串和凭据。

重置 Postgres密码

可以重置创建项目时提供的数据库密码。

  1. 转到项目的概述页面。
  2. 单击项目设置
  3. 单击重置数据库密码
  4. 复制新的自动生成的密码,或键入您自己的新数据库密码。
  5. 单击置数据库密码

迁移

要跟踪数据库更改,请使用Nhost CLI在本地进行开发,并使用我们的GitHub 集成来实时自动部署数据库迁移。

  1. 使用 Nhost CLI 在本地开发。
  2. 将更改推送到 GitHub。
  3. Nhost 自动部署更改


资源

Nhost 库和工具

  • JavaScript/TypeScript SDK
  • Dart 和 Flutter SDK
  • Nhost CLI
  • Nhost React
  • Nhost Next.js
  • Nhost Vue

Nhost文档:https://docs.nhost.io

Nhost开源地址:https://github.com/nhost/nhost


最后修改时间:2022-11-04 11:58:25
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论