Hygraph 与 Astro
Hygraph 是一个无头的 CMS(Content Management System,内容管理系统)。它提供了一个用于 Astro 获取内容的 GraphQL 端点。
与 Astro 集成
标题部分 与 Astro 集成在本节中,你将创建一个 Hygraph GraphQL 端点以供 Astro 使用。
前置准备
标题部分 前置准备在开始使用之前,你需要:
-
一个 Hygraph 账号和项目 - 如果你还没有账号,你可以 免费注册 并创建一个项目。
-
Hygraph 访问权限 - 在
Project Settings > API Access
中,配置 Public Content API 权限以允许无需身份验证的内容读取请求。如果你还没有设置任何权限,你可以点击 Yes, initialize defaults 来添加使用 “High Performance Content API” 所需的权限。
配置端点
标题部分 配置端点在你的项目的根目录中创建或编辑一个 .env
文件,并添加以下变量以将你的 Hygraph 端点连接到 Astro:
现在,你应该能够在你的项目中使用这个环境变量了。
如果你希望让你的环境变量拥有智能提示(IntelliSense),你可以在 src/
目录下创建或编辑 env.d.ts
文件,并像这样配置 ImportMetaEnv
:
你的根目录现在应该包含以下新文件:
目录src/
- env.d.ts
- .env
- astro.config.mjs
- package.json
获取数据
标题部分 获取数据使用 HYGRAPH_ENDPOINT
从你的 Hygraph 项目中获取数据。
例如,要获取具有字符串字段 title
的 blogPosts
内容类型的条目,请创建一个 GraphQL 查询来获取该内容。然后,定义内容的类型,并将其设置为响应的类型。
部署
标题部分 部署配置 Netlify Webhook
标题部分 配置 Netlify Webhook在 Netlify 中设置 Webhook:
-
使用 部署指南 将你的网站部署到 Netlify。并记得将你的
HYGRAPH_ENDPOINT
添加到环境变量中。 -
然后转到你的 Hygraph 项目 dashboard 并单击 Apps。
-
点击 Go to Marketplace 跳转到应用市场,搜索并选择 Netlify 并按照提供的说明进行后续操作。
-
如果一切顺利,现在你只要在 Hygraph 界面中点击一下就能部署你的网站了。