跳转到内容
搜索文档

Qwik

最后更新 查看 MarkdownAgent 设置

Qwik 是开源、以 DOM 为中心、可恢复 Web 应用框架,通过专注于可恢复性、HTML 服务端渲染和细粒度懒加载 代码,实现最佳可交互时间。

在本指南中,你将创建通过 Qwik City(Qwik 的元框架)实现的新 Qwik 应用,并使用 Cloudflare Pages 部署。

创建新项目

使用 create-cloudflare CLI (C3) 创建新项目。C3 将创建新项目目录,启动 Qwik 官方设置工具,并提供即时部署选项。

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

npm create cloudflare@latest -- my-qwik-app --framework=qwik --platform=pages

create-cloudflare 将安装额外依赖,包括 Wrangler CLI 和任何必要的适配器,并询问设置问题。

作为 cloudflare-pages 适配器安装的一部分,将创建 functions/[[path]].ts 文件。[[path]] 文件名表示此文件将处理所有传入 URL 的请求。请参阅路径段了解更多。

选择服务器选项后,切换到项目目录并通过运行以下命令渲染项目:

npm start

继续之前

所有框架指南都假定你已具备 Git 的基础知识。如果你是 Git 新手,请参阅这份精简 Git 手册,了解如何在本地设置 Git。

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

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

创建 GitHub 仓库

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

git init
git remote add origin https://github.com/<your-gh-username>/<repository-name>
git add .
git commit -m "Initial commit"
git branch -M main
git push -u origin main

使用 Cloudflare Pages 部署

通过 create-cloudflare CLI (C3) 部署

如果你使用 create-cloudflare(C3) 创建新的 Qwik 项目,C3 将安装项目所需的所有依赖,并提示你通过 CLI 部署项目。如果部署,你的站点将上线,并会提供部署 URL。

通过 Cloudflare 仪表板部署

要将站点部署到 Pages:

  1. 在 Cloudflare 仪表板中,前往 Workers & Pages 页面。

    Go to Workers & Pages ↗
  2. 选择 Create application(创建应用程序)

  3. 选择 Pages 选项卡。

  4. 选择 Import an existing Git repository(导入现有 Git 仓库)

  5. 选择你创建的新 GitHub 仓库,然后选择 Begin setup(开始设置)

  6. Set up builds and deployments(设置构建和部署) 部分,提供以下信息:

Configuration optionValue
Production branchmain
Build commandnpm run build
Build directorydist

配置站点后,即可开始首次部署。你将看到 Cloudflare Pages 安装 npm、项目依赖并构建站点,然后完成部署。

部署站点后,你将在 *.pages.dev 上获得项目的唯一子域名。 每次向 Qwik 站点提交新代码时,Cloudflare Pages 都会自动重新构建并部署项目。你还可以在新 pull request 上获得预览部署,在部署到生产环境之前预览更改效果。

在 Qwik 应用中使用绑定

绑定(binding) 允许应用与 Cloudflare 开发者产品(如 KVDurable ObjectsR2D1)交互。

在 QwikCity 中,通过 routeLoadersactions 添加服务端代码。然后通过框架提供的 platform 对象访问为应用设置的绑定。

以下代码块展示在 QwikCity 中访问 KV 命名空间的示例。

// ...

export const useGetServerTime = routeLoader$(({ platform }) => {
  // the type `KVNamespace` comes from runtime types generated by running `wrangler types`
  const { MY_KV } = (platform.env as { MY_KV: KVNamespace }));

  return {
    // ....
  }
});

了解更多

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

这篇文档对您有帮助吗?