Cloudflare 提供用于创建新 Workers 和 Pages 项目的 CLI 命令 — npm create cloudflare,由 create-cloudflare 包 ↗ 提供支持。
打开终端窗口并运行:
npm create cloudflare@latest -- --platform=pagesyarn create cloudflare --platform=pagespnpm create cloudflare@latest --platform=pages运行此命令将提示你安装 create-cloudflare ↗ 包,然后询问你希望创建的应用类型。
如果选择 Framework Starter(框架入门) 选项,系统将提示你选择要使用的框架。目前支持以下框架:
使用框架时,npm create cloudflare 直接使用框架自身的命令生成新项目,可能会提示额外问题。这确保你创建的项目与框架最新版本保持同步,并且通过 npm create cloudflare 创建项目时拥有与直接使用框架工具创建项目相同的所有选项。
项目配置完成后,系统会询问你是否要将项目部署到 Cloudflare。这是可选的。
如果选择部署,系统会要求你登录 Cloudflare 账户(如果尚未登录),然后项目将被部署。
要使用 npm create cloudflare 创建新项目,然后将其连接到 Github 或 Gitlab 账户上的 Git 仓库,请执行以下步骤:
- 运行
npm create cloudflare@latest,选择所需选项 - 对提示 "Do you want to deploy your application?" 选择
no。这很重要——若选择yes并从终端部署应用(Direct Upload),则无法稍后将此 Pages 项目连接到 git 仓库。你需要创建新的 Cloudflare Pages 项目。 - 使用
npm create cloudflare@latest刚创建的应用创建新的 git 仓库。 - 按照 Git 集成指南 中的步骤操作
C3 通过一系列交互式提示收集所需输入。你也可以通过命令行参数指定选择,跳过这些提示。要在 CI 等非交互式环境中使用 C3,必须通过命令行指定所有必需参数。
以下是 C3 调用的完整格式及可能的 CLI 参数:
npm create cloudflare@latest -- --platform=pages [<DIRECTORY>] [OPTIONS] [-- <NESTED ARGS...>]yarn create cloudflare --platform=pages [<DIRECTORY>] [OPTIONS] [-- <NESTED ARGS...>]pnpm create cloudflare@latest --platform=pages [<DIRECTORY>] [OPTIONS] [-- <NESTED ARGS...>]DIRECTORYstringoptional- 应用应创建的目录。应用名称取自目录名称。
NESTED ARGS..string[]optional- 传递给 C3 可能调用的第三方 CLI 的 CLI 参数(适用于全栈应用)。
--categorystringoptional-
要创建的模板类型。
-
此选项的可能值:
hello-world:Hello World 示例web-framework:框架 Starterdemo:应用 Starterremote-template:来自 GitHub 仓库的模板
-
--typestringoptional-
要创建的应用类型。
-
此选项的可能值:
hello-world:基本的 "Hello World" Cloudflare Worker。hello-world-durable-object:Durable Object 及与其通信的 Worker。common:实现常见路由/代理功能的 Cloudflare Worker。scheduled:定时 Cloudflare Worker(通过 Cron Triggers 触发)。queues:同时作为 Queues 消费者和生产者的 Cloudflare Worker。openapi:实现 OpenAPI REST 端点的 Worker。pre-existing:从 Cloudflare 仪表板获取已初始化的 Worker。
-
--frameworkstringoptional-
用于创建 Web 应用的框架类型(使用此选项时,
--type被忽略)。 -
此选项的可能值:
angularastrodocusaurusgatsbyhononextnuxtqwikreactredwoodremixsolidsveltevue
-
--templatestringoptional-
通过 git 仓库中托管的外部模板创建新项目
-
此选项的值可指定为以下任一形式:
user/repogit@github.com:user/repohttps://github.com/user/repouser/repo/some-template(子目录)user/repo#canary(分支)user/repo#1234abcd(提交哈希)bitbucket:user/repo(BitBucket)gitlab:user/repo(GitLab)
更多详情,请参阅
degit文档 ↗。模板至少需包含以下内容:
package.json- Wrangler 配置文件
src/,包含 Wrangler 配置文件引用的 worker 脚本
更多示例请参阅此仓库的 templates 文件夹 ↗。
-
--deployboolean(default: true) optional- 创建后部署应用。
--langstring(default: ts) optional-
模板的编程语言。
-
此选项的可能值:
tsjspython
-
--tsboolean(default: true) optional- 在应用中使用 TypeScript。已弃用。请改用
--lang=ts。
- 在应用中使用 TypeScript。已弃用。请改用
--gitboolean(default: true) optional- 为应用初始化本地 git 仓库。
--openboolean(default: true) optional- 在浏览器中打开已部署的应用(若应用未部署,此选项被忽略)。
--existing-scriptstringoptional-
要在本地克隆的现有 Cloudflare Workers 脚本名称。使用此选项时,
--type被强制设为pre-existing。 -
指定
--existing-script时,deploy将被忽略。
-
-y,--accept-defaultsbooleanoptional- 使用所有默认 C3 选项,每个选项也可单独覆盖。
--auto-updateboolean(default: true) optional- 自动使用 C3 最新版本。
-v,--versionbooleanoptional- 显示版本号。
-h,--helpbooleanoptional- 显示帮助信息。
Cloudflare 收集匿名使用数据以持续改进 create-cloudflare。更多信息请参阅我们的数据政策 ↗。
如果你不希望分享任何信息,可以选择退出。
npm create cloudflare@latest -- telemetry disableyarn create cloudflare telemetry disablepnpm create cloudflare@latest telemetry disable或者,你可以设置环境变量:
export CREATE_CLOUDFLARE_TELEMETRY_DISABLED=1你可以随时检查遥测收集状态。
npm create cloudflare@latest -- telemetry statusyarn create cloudflare telemetry statuspnpm create cloudflare@latest telemetry status你可以随时重新启用遥测收集。
npm create cloudflare@latest -- telemetry enableyarn create cloudflare telemetry enablepnpm create cloudflare@latest telemetry enable