mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5
466 字
2 分钟
全栈第一步:前后端打通

核心思考#

  1. 全栈的本质是“数据流转”: 从宏观架构来看,后端工程相当于承担着“数据总线”与“管理中枢”的角色。

    • 数据库 (SQLite):数据持久化下层,承载存储职责。
    • Prisma:ORM 工具,负责数据映射与数据库交互。
    • Express:网关或控制层,处理 HTTP 请求与数据分发。
    • 前端 (Vue):视图层,获取 JSON 序列化数据并渲染为客户端 UI。 打通全链路后,技术栈从单一孤岛合并成了数据流闭环。
  2. TypeScript 的约束一致性: 当前后端均切入 TypeScript 体系后,类型定义能够实现复用。在服务端定义的数据模型(如结构体),能够让前端在进行网络请求处理时直接做类型推断,极大降低了沟通成本与调试阻力。

知识内化(技术栈复盘)#

🛠️ 后端基架 (Node + Express + TS)#

从零搭建了一个标准的 TS 后端项目:

  1. 环境配置npm init 起手,装 expresscorsdotenv 三件套。
  2. TS 加持:配置 tsconfig.json,用 ts-node 直接运行 TS 代码,配合 nodemon 实现热更新(改一行代码,服务自动重启,不用手动切终端)。
  3. ORM 神器 (Prisma)
    • 不用写 SQL 语句,直接定义 schema.prisma 模型。
    • npx prisma db push 一键同步数据库结构。
    • 写了个 seed.ts 脚本,一键注入测试数据,再也不用手动插数据了。

🔗 前后端通信 (The Bridge)#

  1. 跨域 (CORS) 与 代理 (Proxy): 虽然后端装了 cors,但在开发环境我用了 Vite 的 server.proxy
    • 前端请求 /api/songs -> Vite 转发 -> localhost:3000/api/songs
    • 这样既解决了跨域,又让前端代码看起来像是在请求同源接口。
  2. 数据消费 (Pinia)
    • 在 Store 里写 fetchSongList,拿到数据存进 state
    • 配合 pinia-plugin-persistedstate,刷新页面数据还在,体验极佳。
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

全栈第一步:前后端打通
https://blog.moxiaoshuai.fun/2025-12-全栈第一步前后端打通/
作者
莫莫
发布于
2025-12-08
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

封面
示例歌曲
示例艺人
封面
示例歌曲
示例艺人
0:00 / 0:00