Skip to content

一个全面的 Cloudflare API 测试和学习项目

Notifications You must be signed in to change notification settings

halavah/flare-plus

Repository files navigation

Flare Plus - Cloudflare API 全功能测试项目

License: MIT Cloudflare Production Ready Last Test

📖 项目简介

Flare Plus 是一个生产就绪的 Cloudflare API 测试和学习项目,旨在帮助开发者快速掌握 Cloudflare 的各种服务。项目包含了 Cloudflare 主要产品的详细文档、API 使用示例、测试用例和最佳实践。

所有服务已通过全自动化测试验证(2026-01-02)✅

🚀 核心特性

  • 全面覆盖:涵盖 Cloudflare 10+ 核心服务
  • 生产就绪:所有代码经过测试验证,可直接部署
  • 实战导向:每个服务都包含实际可运行的代码示例
  • 详细文档:从基础概念到高级用法的完整中文指南
  • 免费额度分析:详细说明每个服务的免费使用限制
  • 性能测试:包含基准测试和性能优化建议
  • 最佳实践:总结生产环境使用经验
  • 自动化测试:完整的测试套件和验证流程

📚 服务覆盖

每个服务都包含完整的可运行测试项目和学习文档:

服务 测试项目 打包大小 测试状态 免费额度
Workers ☁️ 01-workers/ - 10万请求/天
Pages 📄 02-pages/ - 500次构建/月
R2 Storage 🗄️ 03-r2/ 31.64 KiB 10GB + 100万操作/月
D1 Database 🗃️ 04-d1/ 34.07 KiB 5GB + 2500万读/月
KV Storage 🔑 05-kv/ 31.41 KiB 10万读 + 1000写/天
Durable Objects 🔄 06-durable-objects/ 22.64 KiB 100万请求/月
Email Routing 📧 07-email-routing/ 60.64 KiB 5个自定义路由
Webhooks 🪝 08-webhooks/ 23.99 KiB 10万请求/天
Queue 📬 09-queue/ 25.67 KiB 100万操作/天
Turnstile 🛡️ 10-turnstile/ 28.87 KiB 无限制(免费)

🎯 快速导航

  • 📖 学习文档00-aries/ - 详细的学习资料和教程
  • 🚀 测试项目 → 各服务文件夹 - 可直接运行的代码示例
  • 📋 快速开始GETTING_STARTED.md - 5分钟上手指南
  • 🔧 WARP指南WARP.md - 开发工具集成指南

🛠️ 快速开始

前置要求

  1. 注册 Cloudflare 账户

  2. 安装 Node.js

  3. 安装 Wrangler CLI

    npm install -g wrangler
  4. 认证登录

    wrangler auth login

🚀 一键启动

使用自动化脚本(推荐)

macOS/Linux:

# 查看所有服务
./start.sh

# 选择服务并按照提示操作

Windows (PowerShell):

# 查看所有服务
.\start.ps1

# 选择服务并按照提示操作

手动启动

  1. 安装所有依赖

    npm run install-all
  2. 选择服务并运行

    # 运行 Workers
    cd 01-workers
    npm run dev
    
    # 或使用便捷命令
    npm run dev:workers
  3. 查看所有可用命令

    npm run  # 查看所有服务命令

📁 项目结构

flare-plus/
├── 📦 01-workers/           # Workers 测试项目
├── 📦 02-pages/             # Pages 测试项目
├── 📦 03-r2/                # R2 对象存储测试 (✅ 31.64 KiB)
├── 📦 04-d1/                # D1 数据库测试 (✅ 34.07 KiB)
├── 📦 05-kv/                # KV 存储测试 (✅ 31.41 KiB)
├── 📦 06-durable-objects/   # Durable Objects 测试 (✅ 22.64 KiB)
├── 📦 07-email-routing/     # Email Routing 测试 (✅ 60.64 KiB)
├── 📦 08-webhooks/          # Webhooks 测试 (✅ 23.99 KiB)
├── 📦 09-queue/             # Queue 消息队列测试 (✅ 25.67 KiB)
├── 📦 10-turnstile/         # Turnstile 验证码测试 (✅ 28.87 KiB)
├── 📚 00-aries/             # 学习文档
├── 🔧 00-bin/               # 部署脚本工具
├── 📋 GETTING_STARTED.md    # 快速开始指南
├── 📋 WARP.md               # 开发工具集成指南
├── 🚀 start.sh              # macOS/Linux 启动脚本
├── 🚀 start.ps1             # Windows 启动脚本
└── 📄 package.json          # 项目管理配置

⚙️ 环境配置

在每个服务文件夹创建 .env 文件(如需要):

# 示例:01-workers/.env
CLOUDFLARE_API_TOKEN=your_api_token_here
CLOUDFLARE_ACCOUNT_ID=your_account_id_here

重要配置提示

  • 所有服务的 package.json 已配置 "type": "module"
  • 使用 ES Module 语法(import/export)
  • 推荐使用 itty-router@4.0.25 作为路由器

📖 学习路径

我们提供了文档学习代码实践两种方式:

🔰 初学者路径(推荐)

第1步:Workers 边缘计算

cd 01-workers
npm install
npm run dev

第2步:KV 键值存储

cd 05-kv
npm install
npm run dev

第3步:Pages 静态网站

cd 02-pages
npm install
npm run build && npm run serve

🚀 进阶路径

第4步:R2 对象存储

第5步:D1 数据库

第6步:Durable Objects

🏆 高级路径

第7步:消息队列和事件驱动

第8步:高级集成

  • 组合使用多个服务
  • 构建完整应用示例
  • 性能优化和最佳实践

💡 提示:每完成一个服务,都可以查看对应的 README 文件了解详细用法。

💰 费用计算器

使用我们的免费额度追踪器,确保不超出限制:

服务 免费额度 超出费用
Workers 10万请求/天 $0.50/百万请求
R2 10GB 存储 + 100万次操作/月 $0.015/GB/月 + $0.36/百万读 + $4.50/百万写
D1 5GB + 2500万次读 + 10万次写/月 $0.75/GB/月 + $0.001/千读 + $0.003/千写
KV 10万次读 + 1000次写/天 $0.50/百万读 + $5.00/百万写
Durable Objects 100万请求/月 + 400GB内网流量 $0.15/百万请求 + $0.20/GB外网
Queue 100万操作/天 $0.40/百万操作
Turnstile 无限制 完全免费 ⭐

🛠️ 开发命令

单个服务操作

# 开发环境运行
npm run dev:workers          # 运行 Workers
npm run dev:pages            # 运行 Pages
npm run dev:r2               # 运行 R2
# ... 其他服务类似

# 部署到生产环境
npm run deploy:workers       # 部署 Workers
npm run deploy:pages         # 部署 Pages
npm run deploy:r2            # 部署 R2
# ... 其他服务类似

批量操作

# 安装所有服务依赖
npm run install-all

# 部署所有服务
npm run deploy-all

# 清理所有 node_modules
npm run clean

🧪 测试用例

每个服务都包含测试套件:

# 进入服务目录
cd 01-workers

# 运行测试
npm test

# 语法检查
find src -name "*.js" | xargs node --check

# 部署前验证
npx wrangler deploy --dry-run

✅ 自动化测试验证

最后测试日期: 2026-01-02 测试方式: 全自动化终端测试

所有8个核心服务已通过以下测试:

测试项 03-r2 04-d1 05-kv 06-DO 07-Email 08-Webhooks 09-Queue 10-Turnstile
模块类型配置
依赖完整性
依赖安装
语法检查
项目结构
Wrangler配置
部署验证

测试覆盖范围

  • ES Module 配置 - 所有服务已配置 "type": "module"
  • 依赖管理 - itty-router@4.0.25 + 其他必需依赖
  • 语法验证 - 所有 .js 文件通过 Node.js 语法检查
  • 项目结构 - API模块 + 中间件 + 工具函数完整
  • Wrangler配置 - 绑定配置正确(KV/D1/R2/Queue等)
  • 数据库迁移 - D1/Email/Webhooks/Queue 迁移文件就绪
  • 部署验证 - dry-run 成功,可直接部署

📈 监控和分析

性能监控

  • 使用 Cloudflare Analytics
  • 实时日志查看:wrangler tail
  • 错误追踪

成本监控

# 查看当前月度使用情况
wrangler usage

# 查看详细账单
wrangler billing

🤝 贡献指南

我们欢迎所有形式的贡献!

如何贡献

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

贡献类型

  • 📝 文档改进
  • 🐛 Bug 报告和修复
  • ✨ 新功能和示例
  • 🧪 测试用例
  • 📊 性能优化

📊 项目完成度

v1.0 (已完成 ✅)

  • 10个核心服务测试项目
  • 完整的项目配置和依赖
  • 统一的部署和管理脚本
  • 详细的学习文档
  • 全自动化测试验证

服务状态总览

服务 测试项目 文档 自动化测试 完成度
Workers 100%
Pages 100%
R2 100%
D1 100%
KV 100%
Durable Objects 100%
Email Routing 100%
Webhooks 100%
Queue 100%
Turnstile 100%

🎉 所有服务已达到生产就绪状态!

🚀 未来计划

  • TypeScript 版本的代码示例
  • 更多集成项目模板
  • 性能基准测试套件
  • CI/CD 部署模板
  • GraphQL API 示例

❓ 常见问题

Q: 如何快速开始? A: 运行 ./start.sh (macOS/Linux) 或 .\start.ps1 (Windows),选择服务后按提示操作。详细步骤见 GETTING_STARTED.md

Q: 这些 API 是免费的吗? A: 是的,所有服务都有慷慨的免费额度。Turnstile 完全免费无限制。查看费用表格了解具体限制。

Q: 需要先创建 Cloudflare 资源吗? A: 某些服务需要预先创建资源,如 R2 存储桶、D1 数据库、KV 命名空间等。每个服务 README 都有详细说明。

Q: 可以修改代码吗? A: 当然可以!每个服务都是独立的,你可以随意修改代码进行测试。所有代码已通过测试验证。

Q: 如何查看资源使用情况? A: 使用 wrangler usage 命令查看当前月度使用情况,或访问 Cloudflare Dashboard 查看详细分析。

Q: ES Module 错误如何解决? A: 确保 package.json 中有 "type": "module" 配置。所有服务已正确配置。

Q: 如何运行自动化测试? A: 进入服务目录,运行 npm test 进行单元测试,或使用 npx wrangler deploy --dry-run 验证部署配置。

🔗 有用链接

📄 许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。

🙏 致谢

感谢 Cloudflare 提供的优秀服务和开发工具。

特别感谢所有贡献者和使用者的反馈!


🎉 开始你的 Cloudflare 之旅吧!

💡 推荐路径

  1. 先从 Workers 开始,它是最基础也是最重要的服务
  2. 然后学习 KV 进行数据存储
  3. 接着尝试 D1 构建数据库应用
  4. 最后探索高级服务如 Durable ObjectsQueue

项目状态: ✅ 生产就绪 | 最后测试: 2026-01-02 | 版本: 1.0.0

About

一个全面的 Cloudflare API 测试和学习项目

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published