.astro
文件可以在构建时获取远程数据来辅助页面生成。
所有 Astro 组件 都可以在它们的组件脚本中通过全局 fetch()
函数来使用完整的 URL(例如 https://example.com/api )发起 HTTP 请求到 API。
此外,你可以使用 new URL("/api", Astro.url)
构建一个 URL,指向你的项目中按需在服务器上渲染的页面和端点。
fetch 调用将会在构建时执行,并且数据都可用于组件模板中来生成动态 HTML。如果启用 SSR (EN) 模式,任何 fetch 调用都将在运行时执行。
💡 在 Astro 组件 script 中使用顶层 await 的优势。
💡 将获取的数据作为参数传递给 Astro 和框架组件。
fetch()
函数也可在任何框架组件中全局使用:
Astro 也可以使用 fetch()
和任一有效的 GraphQL 查询来查询 GraphQL 服务器。
Astro 组件可以从你最喜欢的 CMS 中获取数据,然后将其呈现为页面内容。使用动态路由,组件甚至可以根据你的 CMS 内容生成页面。
请参阅 CMS 指南,查看有关将 Astro 与无头 CMS(包括 Storyblok、Contentful 和 WordPress)集成的完整详细信息。
Learn