一个全栈应用,展示React前端与Cloudflare Worker和Workflow的集成,实现多步骤计算流程。现已支持合并部署到单一Worker!
访问: https://simple-worker-workflow.frankiexu32.workers.dev
worker-workflow/
├── frontend/ # React前端应用
│ └── src/
│ └── App.tsx # 主界面
└── backend/ # Cloudflare Worker + Workflow
├── src/
│ └── index.ts # Worker和Workflow定义
└── public/ # 静态文件(前端构建产物)
- React前端: 用户输入数字,发送请求到Worker
- Worker接收: 处理HTTP请求,触发Workflow
- Workflow执行: 分5步处理:
- 步骤1: 验证是否为数字
- 步骤2: 加1
- 步骤3: 乘以2
- 步骤4: 乘以3
- 步骤5: 生成最终结果
- 返回结果: Worker将结果返回给React前端,突出显示计算结果
# 后端依赖
cd backend
npm install
# 前端依赖
cd ../frontend
npm install打开两个终端:
终端1 - 启动Worker (端口8787)
cd backend
npm run dev终端2 - 启动React (端口5173)
cd frontend
npm run dev打开浏览器访问: http://localhost:5173
# 直接测试Worker API
curl -X POST http://localhost:8787/process \
-H "Content-Type: application/json" \
-d '{"number": 10}'# 1. 构建前端
cd frontend
npm run build
# 2. 复制前端到backend
cd ../backend
mkdir -p public
cp -r ../frontend/dist/* public/
# 3. 部署Worker(包含前端和API)
npx wrangler deploy
# 访问部署的应用:
# https://simple-worker-workflow.frankiexu32.workers.devcd backend
npx wrangler deploycd frontend
npm run build
npx wrangler pages deploy dist --project-name=my-workflow-appcd frontend
# 安装Vercel CLI
npm i -g vercel
# 部署
vercelcd frontend
# 构建
npm run build
# 手动上传dist文件夹到Netlify
# 或使用Netlify CLI
npm i -g netlify-cli
netlify deploy --dir=dist --prodcd backend
npx wrangler tail在Cloudflare Dashboard中:
- 登录 https://dash.cloudflare.com
- 选择 Workers & Pages
- 选择你的Worker
- 查看 Workflows 标签
如需配置环境变量,编辑 backend/wrangler.toml:
[vars]
API_KEY = "your-api-key"
ENVIRONMENT = "production"确保Worker中已配置CORS headers:
const corsHeaders = {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET, POST, OPTIONS',
'Access-Control-Allow-Headers': 'Content-Type',
};Workflow是异步执行的,可能需要轮询或等待:
- 开发环境:通常立即完成
- 生产环境:可能需要几秒钟
确保使用 wrangler dev 而不是 wrangler dev --local,
因为Workflow需要连接到Cloudflare的服务。
- 前端: React + TypeScript + Vite
- 后端: Cloudflare Worker + Workflows
- 工具: Wrangler CLI
MIT