Cloudflare 中文文档
Pages
编辑这个页面
跳转官方原文档
Set theme to dark (⇧+D)

Astro

Astro是一个一体化网站框架,用于构建快速、以内容为重点的网站。默认情况下,Astro 可构建零 JavaScript 运行时代码的网站。

请参阅 Astro Docs 了解有关 Astro 的更多信息,或寻求有关 Astro 项目的帮助。

在本指南中,你将创建一个新的 Astro 应用程序,并使用 Cloudflare Pages 进行部署。

​​ 建立一个新项目

要使用 create-cloudflare 创建新的 Astro 项目,请运行以下命令:

Astro 会问:

  1. 你想设置哪种项目类型。你的答案不会影响本教程的其他内容。请选择适合你项目的答案。

  2. 如果要初始化 Git 仓库。我们建议你选择 No,并遵循本指南的 Git 说明。如果选择 yes,请不要完全按照下面的 Git 说明进行操作,而是根据自己的需要进行调整。

然后,create-cloudflare会安装依赖项,包括Wrangler CLI和@astrojs/cloudflare适配器,并向你提出设置问题。

​​ Astro 配置

你可以使用 @astrojs/cloudflare 适配器 将 Astro 服务器端渲染 (SSR) 网站部署到 Cloudflare 页面。SSR 网站在页面功能上呈现,允许动态功能和自定义。

通过运行 @astrojs/cloudflare adapter,将[@astrojs/cloudflareadapter]添加到项目的package.json中:

​​ 在你继续之前

所有框架指南都假定你已经对 Git 有了基本了解。如果你是 Git 的新手,请参考这本 Git 手册摘要,了解如何在本地机器上设置 Git。

如果使用 SSH 克隆,则必须在每台用于从 GitHub 推送或拉取的计算机上 生成 SSH 密钥

更多信息请参阅 GitHub 文档 Git 文档

​​ 创建 GitHub 仓库

访问 repo.new,创建一个新的 GitHub 仓库。创建新仓库后,进入新创建的项目目录,准备并在终端运行以下命令将本地应用程序推送到 GitHub:

​​ 使用 Cloudflare 页面部署

​​ 通过 create-cloudflare CLI (C3) 进行部署

如果使用 create-cloudflare(C3)创建新的 Astro 项目,C3 将安装项目所需的所有依赖项,并提示你通过 CLI 部署项目。如果你进行了部署,你的网站就会上线,并向你提供一个部署 URL。

​​ 通过 Cloudflare 控制面板部署

  1. 登录 Cloudflare 仪表板 并选择你的账户。
  2. 在账户主页,选择 工作者和页面> 创建应用程序> 页面> 连接到 Git

如果你尚未授权访问你的 GitHub 帐户,系统将要求你进行授权。Cloudflare 需要这样才能从源代码监控和部署你的项目。如果你愿意,可以缩小对特定版本库的访问范围;但是,当你要向 Cloudflare 页面添加更多版本库时,必须手动更新此列表 在你的 GitHub 设置中

选择你创建的新 GitHub 仓库,并在设置构建和部署部分提供以下信息:

Configuration option Value
Production branch main
Build command npm run build
Build directory dist

你可以选择自定义项目名称字段。它默认为 GitHub 仓库的名称,但不必与之匹配。项目名称**值将被指定为*.pages.dev子域。

完成配置后,选择保存并部署

你将看到第一次部署正在进行中。Pages 会按照指定安装所有依赖项并构建项目。

Cloudflare Pages 会自动重建你的项目,并在每次推送新提交时进行部署。

此外,你还可以访问 预览部署,它可以重复拉取请求的构建和部署过程。有了它们,你就可以在将项目中的更改部署到生产环境之前,用一个真实的 URL 进行预览。

​​ 本地运行时间

本地运行时支持通过 platformProxy 选项进行配置:

​​ 在 Astro 应用程序中使用绑定

绑定 允许你的应用程序与 Cloudflare 开发人员产品交互,例如 KVDurable ObjectR2 D1

在 Astro 组件和 API 路由中使用绑定,方法是使用 Astro Middleware 中的 context.locals 访问 Cloudflare 运行时,该运行时除其他字段外,还包含 Cloudflare 的环境以及为你的应用程序连续设置的任何绑定。

请参考以下示例,了解如何使用 TypeScript 访问 KV 命名空间。

首先,你需要通过更新 env.d.ts 来定义 Cloudflare 运行时和 KV 类型:

然后,你可以通过以下方式从 API 端点访问 KV:

除了端点,你还可以直接使用 Astro 组件中的绑定:

要了解有关 Astro Cloudflare 运行时的更多信息,请参阅 Astro 文档中的 访问 Cloudflare 运行时

​​ 了解更多

完成本指南后,你已成功将 Astro 网站部署到 Cloudflare Pages。要开始使用其他框架,请参阅框架指南列表