一键保存的重要性:调试报错背后的小习惯
今天在做项目的时候,又一次被一个小习惯提醒——随手保存文件的重要性。
我把原本用 Flask 写的后端改成 Node.js + Sequelize,手动新增了多个模型文件。修改完代码后,运行 node server.js 却报了一个莫名其妙的错误:

TypeError: require(...) is not a function
at Object.<anonymous> (.../models/index.js:26:42)
当时我一度以为是函数写错了,尝试了各种改写和引入方式,但问题依旧。
因为用的cursor编译器,我就在AI Agent上面请它为我排除问题在哪里,它列出来可能导致的原因,其中
“模型文件是否都在磁盘上?在 backend\models 下搜索时,只看到了 index.js 和 user.js,缺少 userSession.js、timeAccount.js、serviceOrder.js、timeTransaction.js。”
这段文字提醒了我,报错的根本原因也行不是代码写错,而是文件没有真正保存到磁盘。
我立即在各个新建文件按下 Ctrl+S,把所有文件都保存好,再次启动后端——一切正常。这让我大悟,有的时候并不是函数的问题,而是保没保存。这不禁引发我的思考
如果没有 Cursor,该如何排查?
我试着整理了一下,即便没有 Cursor,可以从以下几个角度思考问题:
- 确认文件是否存在
- 检查 require 路径
- 打印调试信息
- 在 PowerShell 中列出目录:
dir E:\user\用户目录\time-bank\backend\models

- Node.js 的
require('./userSession')会找userSession.js或userSession/index.js,路径大小写必须正确,否则会报错。 -
console.log('Files in models:', require('fs').readdirSync(__dirname));
可以看到 Node.js 实际找到的文件列表,如果缺少某个文件就说明它没保存或者路径有问题。
防止下次出现类似问题
-
VSCode 自动保存
菜单:File → Auto Save

- 配合 nodemon
npm install -g nodemon
nodemon server.js
nodemon 会监控文件修改,自动重启服务。结合自动保存,实现“改 → 保存 → 自动重启 → 看到效果”的闭环。
这个小插曲让我深刻意识到两个点:
-
一键保存是最重要的开发习惯,可以避免很多莫名其妙的报错。
-
智能辅助工具(如 Cursor)非常有用,能快速定位问题,但即便没有,也能通过目录检查、调试打印等方法排查问题。
有时候,报错背后隐藏的不是代码问题,而是一个看似微不足道的小习惯。Ctrl+S + 智能提示,让调试效率提升不止一点点。
更多推荐



所有评论(0)