部署指南

概述与架构

TanStack Ship 在 Cloudflare Workers、D1、R2、KV 与 Queues 上的运行架构与部署路径。

TanStack Ship 基于 TanStack Start 构建,生产环境运行在 Cloudflare Workers 上,数据与异步任务由 Cloudflare 原生服务承载。

重要

推送到 GitHub 不会自动部署生产环境。发布需在本机执行 pnpm run deploy(不是 pnpm deploy)。

平台架构

组件职责配置位置
WorkersSSR、API、Cronwrangler.jsonc
D1用户、账单、博客、归因d1_databases
R2文件上传、媒体资产r2_buckets + 环境变量
KV短链 slug 映射kv_namespaces
Queues邮件活动、工作流queues

前置要求

工具版本
Node.js20+
pnpm10+
Wrangler4.x
Cloudflare 账号开通 Workers、D1、R2、KV、Queues

一次性登录:

bash
pnpm wrangler login

推荐阅读顺序

  1. 本地开发 — 安装依赖、.dev.vars、本地 D1
  2. Cloudflare 资源 — 创建 D1/R2/KV/Queues
  3. 环境变量 — 变量对照表
  4. 密钥与 API 获取 — OAuth、Stripe 等
  5. 第三方集成 — Resend 等详细接入
  6. 生产部署 — 构建与发布
  7. 验证与故障排查 — 上线清单

本地 vs 生产

维度本地生产
环境文件.dev.varswrangler secret + vars
数据库pnpm db:migrate:localpnpm db:migrate:remote
客户端变量 VITE_*.dev.vars / shell构建时注入,改后需重新 deploy
绑定Vite 模拟 cloudflare:workerswrangler.jsonc bindings

须知

本地开发时,Vite 会读取 .dev.vars 并模拟 Workers 环境(Stripe、R2、PostHog 等),无需每次连远程 Cloudflare。