Nuxt
Nuxt是一个网络框架,使基于 Vue.js 的开发变得简单而强大。
在本指南中,你将创建一个新的 Nuxt 应用程序,并使用 Cloudflare Pages 进行部署。
使用 create-cloudflare
CLI(C3)创建新项目
create-cloudflare
CLI (C3)](/pages/get-started/c3/) 将为 Cloudflare 页面配置你的 Nuxt 站点。在终端中运行以下命令创建新的 Nuxt 网站:
C3 会询问一系列设置问题,并使用
nuxi
(官方 Nuxt CLI) 创建一个新项目。C3 还将安装必要的适配器和 Wrangler CLI。
创建项目后,C3 将使用默认 Nuxt 模板生成一个新的 my-nuxt-app
目录,该模板已更新为与 Cloudflare Pages 完全兼容。
创建新项目时,C3 会让你选择通过 Direct Upload部署应用程序的初始版本。你可以在项目目录下运行以下命令,随时重新部署应用程序:
配置和部署不带 C3 的项目
要在没有 C3 的情况下部署 Nuxt 项目,请遵循 Nuxt 入门指南。设置好 Nuxt 项目后,选择 Git 整合指南 或 Direct Upload 指南 在 Cloudflare Pages 上部署 Nuxt 项目。
Git 整合
除了直接上传部署外,你还可以通过Git 集成部署项目。Git 集成允许你将 GitHub 或 GitLab 仓库连接到 Pages 应用程序,并在每次推送新提交后自动构建和部署 Pages 应用程序。
设置需要对 Git 有基本了解。如果你是 Git 新手,请参考 GitHub 的 Git 手册汇总,了解如何在本地机器上设置 Git。
创建 GitHub 仓库
访问 repo.new,创建一个新的 GitHub 仓库。创建新仓库后,进入新创建的项目目录,准备并在终端运行以下命令将本地应用程序推送到 GitHub: 创建一个页面项目
- 登录 Cloudflare 仪表板 并选择你的账户。
- 转到 Workers & Pages> Create application> Pages> Connect to Git并创建一个新的 Pages 项目。
如果你尚未授权访问你的 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 来预览对项目所做的更改。
在 Nuxt 应用程序中使用绑定
绑定(binding) 允许你的应用程序与 Cloudflare 开发人员产品交互,如 KV、Durable Objects、R2 和 D1。
如果打算在项目中使用绑定,必须首先为本地和远程开发设置绑定。
为本地开发设置绑定
通过 C3 创建的项目附带 nitro-cloudflare-dev
,这是一个 nitro
模块,可简化开发过程中的绑定工作:
该模块由 getPlatformProxy
辅助函数 提供支持。getPlatformProxy
会自动检测项目的 wrangler.toml
文件中定义的任何绑定,并在本地开发中模拟这些绑定。查看Wrangler 关于绑定的配置信息,了解如何在wrangler.toml
中配置绑定的更多信息。
为已部署的应用程序设置绑定
要访问已部署应用程序中的绑定,你需要在 Cloudflare 控制面板中配置你的绑定。
为 TypeScript 项目添加绑定
要获得适当的类型支持,你需要在项目根目录下创建一个新的 env.d.ts
文件,并声明一个 binding。
下面是添加 KVNamespace
绑定的示例:
在 Nuxt 应用程序中访问绑定
在 Nuxt 中,通过
Server Routes and Middleware 添加服务器端代码。defineEventHandler()
方法用于定义你的 API 端点,在这些端点中,你可以通过提供的 context
字段访问 Cloudflare 的上下文。通过 context
字段,你可以访问为你的应用程序设置的任何绑定。
下面的代码块展示了在 Nuxt 中访问 KV 命名空间的示例。
了解更多
完成本指南后,你已成功将 Nuxt 网站部署到 Cloudflare Pages。要开始使用其他框架,请参阅框架指南列表