幕后发生了什么
在第 3 级,我们把消息存在内存里的数组中:
const vzkazy = [
{ jmeno: "Martin", text: "First message!" },
];
这很好用——只要服务器一直运行。但当你停止它(Ctrl+C)再重新启动,数组就 空了。消息没了。为什么?
因为 RAM(电脑内存)就像教室里的白板:你走了,有人把它擦干净。要永久保存,你需要 硬盘——文件或数据库。
💡
硬盘 vs 内存: 硬盘上的文件重启后还在。server.js 里的数组不会。所以大型网站用数据库——MySQL、PostgreSQL、SQLite。我们从 SQLite 开始:单个文件里的数据库,不需要额外服务器。
跟我看:重启后会发生什么
- 启动留言本那课的服务器(
node server.js)。 - 通过 React 发送一条新消息。
- 停止服务器(Ctrl+C)再重新启动。
- 在浏览器刷新页面——消息没了。
这不是代码的 bug。这是内存的特性。现在你知道数据库为什么存在了。
轮到你了 💪
- 重复上面的实验,写下来(可以在项目笔记里)到底发生了什么。
- 打开
server.js,找到const vzkazy = [...]那一行。加注释:// WARNING: this disappears after a server restart! - 想想你自己的项目:学校/俱乐部/日记网站上 什么不应该消失?(课表?照片?消息?)——列出 2–3 项。
✅
检查一下: 你理解内存(临时)和硬盘(永久)的区别。下一课你会学 Git——在硬盘和网上备份代码。然后是 SQLite——永久保存消息。
这堂课你要记住
server.js里数组中的数据只活到服务器重启为止。- 永久存储 = 硬盘上的文件或数据库。
- 第 4 级会带你走向 Git(代码备份)和 SQLite(永久留言本)。
© 2026 Ing. Martin Polak / AlgoRhino · 内容使用条款