学习路径 / 进阶
让项目有记忆
Give It Memory
前端之外还有什么?搭一个最小的后端,让项目能保存和读取数据。
一个具体的问题
你的页面上有一个”留言”输入框。用户输入了一句话,点提交。
然后呢?
如果一切都在前端,这句话只存在于这一个人的这一个浏览器里。他刷新页面,没了。别人打开你的网站,什么也看不到。
要让留言真的存在,你需要一个所有人共用的地方。那个地方就是后端。
两个地方,两种性质
访问者的浏览器 你的服务器
───────────── ─────────────
前端 HTTP 后端
· 展示、交互 ←────→ · 保存数据
· 每个人一份 · 保管密钥
· 完全公开 · 只有一份
· 可以被篡改 · 你说了算
记住那条分界线:前端是不可信的。任何需要保密或者不能被用户改动的事,都得在后端做。
搭一个最小的后端
帮我用 Node.js 和 Hono 搭一个最简单的后端,只要两个接口:
- POST /messages 接收一条留言,存起来
- GET /messages 返回所有留言
数据先用一个 JSON 文件存,不要数据库,我想先跑通流程。
每一步告诉我要在终端里输入什么。
跑起来之后,你会看到终端里显示”服务运行在 http://localhost:3000”。
在浏览器里打开这个地址——这是你自己的服务器,正在你的电脑上运行。
然后换成数据库
JSON 文件在留言变多、多人同时提交时会出问题。这时候换数据库:
把存储从 JSON 文件换成 SQLite。
解释一下什么是「表」和「字段」,用留言板举例。
数据库的核心概念只有一个:表。可以想成一张 Excel 表格,每一列是一个字段(谁、说了什么、什么时候),每一行是一条记录。
把两边接起来
最后一步,让前端页面真的去调这两个接口。
这里你八成会遇到 CORS 报错——浏览器出于安全考虑,默认不允许一个网页去请求另一个域名的接口。把完整报错交给 AI,告诉它你的前端和后端分别跑在哪个地址。
这个错误值得你亲自撞一次。它是理解”浏览器不信任任何人”这件事最直观的入口。
本节产出
一个能提交、能展示、刷新后内容还在的应用。前后端分离,代码提交到 GitHub。
随堂自测
检查一下自己
3 题
前端代码运行在哪里?
为什么「点赞数」这种功能光靠前端做不了?
下列哪些工作应该由后端来做?(多选)多选