全栈开发逻辑手册
核心哲学:数据驱动。先想清楚数据长什么样(数据库),再想怎么操作数据(后端),最后想怎么给用户看(前端)。
1. 数据库 (Database) —— 数据的“家”
核心逻辑: 确立数据模型与关系。
-
职责:
-
Schema 设计:定义实体(如用户、订单、文章)。
-
关系定义:确定实体间的连接(一对一、一对多、多对多)。例如:一个用户可以有多份订单。
-
持久化:确保数据在断电或服务重启后依然存在。
-
一致性约束:保证数据不“脏”(例如:邮箱字段必须唯一,外键必须存在)。
-
-
开发流:
-
分析业务需求,画出 ER 图(实体关系图)。
-
编写 SQL 迁移脚本 (Migration) 或定义 ORM 模型。
-
建立索引 (Index) 以优化未来的查询速度。
-
2. 后端 (Backend) —— 数据的“管家”
核心逻辑: 安全地接收请求,处理业务,存取数据库,返回结果。
-
职责:
-
API 接口定义:制定前端与后端对话的协议(RESTful 或 GraphQL)。
-
鉴权与授权 (Auth):确认“你是谁”(登录)以及“你能做什么”(权限)。
-
输入验证:永远不要相信前端传来的数据(防 SQL 注入、格式校验)。
-
业务逻辑:最复杂的部分。例如:计算价格、生成发票、发送邮件、调用第三方服务。
-
数据读写:作为中间人,向数据库发送指令并获取结果。
-
-
开发流:
-
定义路由 (Router):如 GET /users。
-
编写控制器 (Controller):解析请求参数。
-
调用服务层 (Service):执行核心业务逻辑。
-
调用数据层 (Repository/DAO):与数据库交互。
-
返回标准化的 JSON 响应(包含数据或错误码)。
-
3. 前端 (Frontend) —— 数据的“脸面”
核心逻辑: 良好的交互体验,将后端的数据可视化,将用户的操作转化为请求。
-
职责:
-
UI 构建:将设计稿转化为代码(HTML/CSS 结构与样式)。
-
状态管理:管理应用瞬时数据(如:当前是否加载中、购物车里有什么、用户是否登录)。
-
网络通信:使用 Fetch/Axios 向后端 API 发起请求。
-
路由管理:控制页面跳转(SPA 单页应用)。
-
交互反馈:给用户即时反馈(加载转圈、错误提示、成功动画)。
-
-
开发流:
-
拆分组件 (Components):如导航栏、列表卡片。
-
编写静态页面。
-
接入 API (Data Binding):将静态内容替换为后端返回的数据。
-
处理异常状态(断网、404、500错误)。
-
4. 部署 (Deployment) —— 交付
核心逻辑: 将代码从你的本地电脑移动到公共服务器,并确保其持续运行。
-
流程:
-
构建 (Build):将前端代码编译为静态文件 (HTML/JS/CSS),将后端代码编译或准备好运行时环境。
-
环境配置 (Env):注入敏感信息(数据库密码、API Key),绝对不能写在代码里。
-
服务托管:运行后端服务,托管前端资源。
-
域名与SSL:配置 DNS,开启 HTTPS。
-
5. 关于 Cloudflare 部署
答案:可以,而且现在非常流行。
Cloudflare 已经不仅仅是一个 CDN,它提供了一整套Serverless(无服务器) 全栈解决方案。使用 Cloudflare 部署的逻辑与传统 VPS(如 AWS EC2, 阿里云)有所不同,具体如下:
方案 A:Cloudflare 全家桶 (纯 Serverless 架构)
适合:中小型应用、高并发、全球访问、低成本。
-
前端 → Cloudflare Pages:
-
逻辑:连接你的 GitHub 仓库。当你 Push 代码时,Cloudflare 自动构建(Build)前端项目(React/Vue/Next.js 等),并分发到全球边缘节点。
-
优势:速度极快,免费额度大。
-
-
后端 → Cloudflare Workers:
-
逻辑:你不需要买服务器,不需要装 Linux。你只写函数(JavaScript/TypeScript/Rust)。代码运行在 Cloudflare 的边缘节点上。
-
注意:Workers 是无状态的,且运行时间有限制(通常几毫秒到几秒)。
-
-
数据库 → Cloudflare D1 (SQL) 或 KV / R2:
-
D1:Cloudflare 自家的基于 SQLite 的边缘数据库,适合关系型数据。
-
KV:键值存储,适合存配置、Session。
-
R2:对象存储,存图片、文件(类似 AWS S3)。
-
方案 B:混合部署 (前端 CF + 后端传统)
适合:已有复杂的后端架构,或必须要用 Docker/特定语言环境。
-
前端:依然托管在 Cloudflare Pages。
-
后端:部署在传统云厂商(AWS/DigitalOcean/阿里云),暴露 API。
-
连接:前端通过 API 访问后端。Cloudflare 提供 DNS 解析和 DDoS 保护。
总结建议
如果你是一个人开发新项目:
推荐 Cloudflare Pages (托管前端) + Cloudflare Workers (写后端逻辑) + Cloudflare D1 (数据库)。
理由:
-
运维成本几乎为 0:不用管服务器死机、不用管系统升级。
-
部署极快:git push 后自动上线。
-
免费额度非常良心:对于个人项目几乎不需要花钱。