使用Cloudflare Workers
- 通过hono运行在 Cloudflare Workers 应用程序
- Cloudflare Workers 是 Cloudflare 提供的一种无服务器计算平台
- 无服务器架构:无需管理服务器或基础设施,代码直接部署到 Cloudflare平台
- 基于 V8 JavaScript 引擎
安装Cloudflare相关库
- wrangler
- @cloudflare/workers-types
pnpm add wrangler @cloudflare/workers-types -D
Wrangler配置
- Wrangler 是一个由Cloudflare 提供的命令行界面 (CLI) 工具,它用于创建、构建和发布Cloudflare Workers 项目
环境变量问题
- 普通变量(Variable)默认会被 Wrangler 部署配置覆盖。 在控制台保存的变量,如果没有写进
wrangler.jsonc,下次部署就可能被移除。 - Secret 通常会保留
- 通过keep_vars可以保存变量配置
{
"name": "ai-canvas-api",
"main": "src/cloudflare.ts",
"compatibility_date": "2026-10-14",
"compatibility_flags": ["nodejs_compat"],
// 保留在控制面板中配置的特定于环境的身份验证变量, 避免被覆盖
"keep_vars": true,
// Reach this Worker through the Pages MODEL_API service binding only.
"workers_dev": false,
"preview_urls": false,
"vars": {
"PROVIDER_CONCURRENCY": "2",
"BATCH_MAX": "16",
"POLL_INTERVAL_MS": "5000",
"IMAGE_TIMEOUT_MS": "600000",
"VIDEO_TIMEOUT_MS": "1800000",
"QUERY_RETRIES": "3"
}
}
安装最新的 Visual C++ Redistributable
- windows环境上,需要安装Visual C++ Redistributable
- 运行用 C++ 编写的应用程序
- Microsoft Visual C++ Redistributable 下载页面。
环境配置
- 在使用 Cloudflare 的 Wrangler 工具进行本地开发时, 配置
.dev.vars文件来管理环境变量,这些变量在本地开发环境中会覆盖wrangler.toml文件中的设置