Phase 1 · 第 1.11 节 · 主资源:Supabase 文档(下一关后端)

第一章结束,承上启下 · 网站记不住东西

本节课目标:你会亲手遇上纯前端网站的问题,存入的数据在页面刷新后即会消失。于是你会想要一个能记住数据的后端。这正是下一关 Phase 2 给你的。

你已经把 Steve's Repair 官网上线了(1.10),好看、能打开、有公开链接。但纯前端网站存在一个根本性的限制,本节通过亲身体验来帮你理解为什么需要后端。

动手:存一条留言,然后刷新页面

下面是一个模拟的网页,将它视为你的 Steve's Repair 官网,顾客可以在上面留一条预约信息。请你照着做三步,别只看:

  1. 在输入框中输入一句话,点"存一条",多存两三条,看它们排进下面的列表里。
  2. 留意一下右上角的状态灯,现在是灰的:没有后端
  3. 点橙色的"刷新页面"按钮。它模拟你按浏览器刷新、或者关掉网页明天再打开。看会发生什么。
重新加载中…
steves-repair.netlify.app 后端:没接

给 Steve 留一条预约

还没有留言。在上面输入框存一条试试。
当前 0 条留言
你刚刚经历了什么:存的时候一切正常,列表里清清楚楚几条留言;一刷新,页面转一下,回来全没了,一条不剩。这不是模拟器的设计缺陷,真实的纯前端网站的表现与此完全一致。换句话说:你刚刚上线的那套 Steve's Repair 官网,如果现在添加一个留言框,顾客填写的预约信息在关闭页面后同样会全部丢失。这就是纯前端的天花板。

为什么会这样:网页"住"在你的浏览器里

到现在为止,你的网站只有前端,也就是浏览器里看到、点到的那一层。前端负责显示和交互:把页面画出来、响应你的点击。它没有长期保管数据的地方。你存的留言只是临时放在浏览器内存里,刷新等于把这一页从头重新加载,内存一清空,留言就没了。像在白板上写字,擦一下就不在了。

要让数据留下来,刷新还在、换台电脑还在、别人也能看到,就得在前端背后加一层:后端。后端有个专门记东西的仓库,也就是数据库。前端把数据交给它保管,下次打开再向它要回来。

前端

你现在有的

浏览器里看到的页面

负责:显示画面、响应点击

不具备:长期保存数据的能力

后端

你还缺的

看不见,但一直在后台

负责:把数据存进数据库

负责:谁登录、谁是管理员

上图右侧以虚线和灰色显示,表示你当前尚未接入后端。点击下方按钮接入后端,再回到模拟器尝试一次,亲眼对比两种情况的差异。

动手(第二轮):把后端"接上",再存一次

点击下方的"接上后端"按钮,为模拟器接入一个模拟的后端(它将留言存储到浏览器自带的本地存储空间中,以此模拟真实数据库的持久保存能力)。接上之后,你会看到右上角状态灯变绿。然后请你再做一遍刚才那套动作:回到上面存几条留言、点"刷新页面"。这一次留言还在。后端干的就是这件事:替你记住东西。

切换后端的接 / 拔,自己对比两种情况下刷新的区别:

现在是:没有后端,刷新就丢。

接上后端,刷新后该长什么样

担心自己判断不准?下面提供一个对照参考。同样存了三条留言、同样点了刷新,两种情况回来后是这样:

没接后端

刷新后

列表空了,显示"还没有留言"。

计数变回"当前 0 条留言"。

接上后端

刷新后

三条留言原样还在列表里。

计数仍是"当前 3 条留言"。

对照此表验证你刚才观察到的结果:未接后端时刷新后列表应为空,接入后端时刷新后留言应保持原样。两种情况的差异都亲自验证后,你便能真正理解后端的作用。

承接下一关:记住数据、能登录、有管理员后台,纯前端都做不到,得靠后端。下一关 Phase 2 给你接上一个真后端:Supabase,一个托管好的数据库加登录系统。你不用自己造服务器,像这一关指挥 Agent 一样,把"记住东西"交给它就行。

自检:你是否真正体验到了纯前端的局限性

下面四条,对照你刚才在模拟器中的实际操作逐项核实后勾选——并非阅读理解后即可勾选,而是确实动手操作、亲眼看到结果后再勾选。勾不上的那条,回上面再做一遍那一步。

动手做完一条勾一条,四条都勾上,这一关就过。

未全部勾选?以下为三种常见问题及对应解决方法: 以上方法尝试后仍无法解决,将当前遇到的问题用文字描述下来,发给你的 Agent,让它带你逐步排查。

本节小测

同班同学说:"我给官网加了留言框,顾客留的言关页面就没了。" 最该给他补上的是什么?

还没想清前端和后端怎么分工,或者好奇 Supabase 是怎么把留言记住的?把疑问发到群里问问大家,或者直接向 Abel 或助教提问。本节不要求你立即掌握后端开发技能。亲身感受到纯前端的局限、理解为什么需要后端,即为本节的目标。

课程术语表 上一节:上线 课程怎么学 下一关后端:Supabase 文档