跳转到内容
搜索文档

C3 CLI

最后更新 查看 MarkdownAgent 设置

Cloudflare 提供用于创建新 Workers 和 Pages 项目的 CLI 命令 — npm create cloudflare,由 create-cloudflare 提供支持。

创建新应用

打开终端窗口并运行:

npm create cloudflare@latest -- --platform=pages

运行此命令将提示你安装 create-cloudflare 包,然后询问你希望创建的应用类型。

Web 框架

如果选择 Framework Starter(框架入门) 选项,系统将提示你选择要使用的框架。目前支持以下框架:

使用框架时,npm create cloudflare 直接使用框架自身的命令生成新项目,可能会提示额外问题。这确保你创建的项目与框架最新版本保持同步,并且通过 npm create cloudflare 创建项目时拥有与直接使用框架工具创建项目相同的所有选项。

部署

项目配置完成后,系统会询问你是否要将项目部署到 Cloudflare。这是可选的。

如果选择部署,系统会要求你登录 Cloudflare 账户(如果尚未登录),然后项目将被部署。

创建连接到 git 仓库的新 Pages 项目

要使用 npm create cloudflare 创建新项目,然后将其连接到 Github 或 Gitlab 账户上的 Git 仓库,请执行以下步骤:

  1. 运行 npm create cloudflare@latest,选择所需选项
  2. 对提示 "Do you want to deploy your application?" 选择 no。这很重要——若选择 yes 并从终端部署应用(Direct Upload),则无法稍后将此 Pages 项目连接到 git 仓库。你需要创建新的 Cloudflare Pages 项目。
  3. 使用 npm create cloudflare@latest 刚创建的应用创建新的 git 仓库。
  4. 按照 Git 集成指南 中的步骤操作

CLI 参数

C3 通过一系列交互式提示收集所需输入。你也可以通过命令行参数指定选择,跳过这些提示。要在 CI 等非交互式环境中使用 C3,必须通过命令行指定所有必需参数。

以下是 C3 调用的完整格式及可能的 CLI 参数:

npm create cloudflare@latest -- --platform=pages [<DIRECTORY>] [OPTIONS] [-- <NESTED ARGS...>]
  • DIRECTORY stringoptional

    • 应用应创建的目录。应用名称取自目录名称。
  • NESTED ARGS.. string[]optional

    • 传递给 C3 可能调用的第三方 CLI 的 CLI 参数(适用于全栈应用)。
  • --category stringoptional

    • 要创建的模板类型。

    • 此选项的可能值:

      • hello-world:Hello World 示例
      • web-framework:框架 Starter
      • demo:应用 Starter
      • remote-template:来自 GitHub 仓库的模板
  • --type stringoptional

    • 要创建的应用类型。

    • 此选项的可能值:

      • hello-world:基本的 "Hello World" Cloudflare Worker。
      • hello-world-durable-objectDurable Object 及与其通信的 Worker。
      • common:实现常见路由/代理功能的 Cloudflare Worker。
      • scheduled:定时 Cloudflare Worker(通过 Cron Triggers 触发)。
      • queues:同时作为 Queues 消费者和生产者的 Cloudflare Worker。
      • openapi:实现 OpenAPI REST 端点的 Worker。
      • pre-existing:从 Cloudflare 仪表板获取已初始化的 Worker。
  • --framework stringoptional

    • 用于创建 Web 应用的框架类型(使用此选项时,--type 被忽略)。

    • 此选项的可能值:

      • angular
      • astro
      • docusaurus
      • gatsby
      • hono
      • next
      • nuxt
      • qwik
      • react
      • redwood
      • remix
      • solid
      • svelte
      • vue
  • --template stringoptional

    • 通过 git 仓库中托管的外部模板创建新项目

    • 此选项的值可指定为以下任一形式:

      • user/repo
      • [email protected]:user/repo
      • https://github.com/user/repo
      • user/repo/some-template(子目录)
      • user/repo#canary(分支)
      • user/repo#1234abcd(提交哈希)
      • bitbucket:user/repo(BitBucket)
      • gitlab:user/repo(GitLab)

      更多详情,请参阅 degit 文档

      模板至少需包含以下内容:

      更多示例请参阅此仓库的 templates 文件夹

  • --deploy boolean(default: true) optional

    • 创建后部署应用。
  • --lang string(default: ts) optional

    • 模板的编程语言。

    • 此选项的可能值:

      • ts
      • js
      • python
  • --ts boolean(default: true) optional

    • 在应用中使用 TypeScript。已弃用。请改用 --lang=ts
  • --git boolean(default: true) optional

    • 为应用初始化本地 git 仓库。
  • --open boolean(default: true) optional

    • 在浏览器中打开已部署的应用(若应用未部署,此选项被忽略)。
  • --existing-script stringoptional

    • 要在本地克隆的现有 Cloudflare Workers 脚本名称。使用此选项时,--type 被强制设为 pre-existing

    • 指定 --existing-script 时,deploy 将被忽略。

  • -y, --accept-defaults booleanoptional

    • 使用所有默认 C3 选项,每个选项也可单独覆盖。
  • --auto-update boolean(default: true) optional

    • 自动使用 C3 最新版本。
  • -v, --version booleanoptional

    • 显示版本号。
  • -h, --help booleanoptional

    • 显示帮助信息。

遥测

Cloudflare 收集匿名使用数据以持续改进 create-cloudflare。更多信息请参阅我们的数据政策

如果你不希望分享任何信息,可以选择退出。

npm create cloudflare@latest -- telemetry disable

或者,你可以设置环境变量:

export CREATE_CLOUDFLARE_TELEMETRY_DISABLED=1

你可以随时检查遥测收集状态。

npm create cloudflare@latest -- telemetry status

你可以随时重新启用遥测收集。

npm create cloudflare@latest -- telemetry enable

这篇文档对您有帮助吗?