MDN Express教程实操nodemon崩溃:Route.get()收到undefined回调
错误原因
报错Route.get() requires a callback function but got a [object Undefined]明确指向你routes/catalog.js第56行传入的路由处理函数不存在:你调用的author_controller.author_update_get是undefined值。
按优先级排查问题
- 检查作者控制器文件(通常是
/controllers/authorController.js)是否正确导出了author_update_get方法
确保控制器内的方法定义和导出格式符合CommonJS规范,示例:
重点核对方法名拼写、大小写是否完全匹配,任何拼写偏差都会导致调用时返回undefined。// 正确导出写法 exports.author_update_get = (req, res, next) => { // 方法逻辑 }; - 检查
catalog.js顶部导入作者控制器的代码是否正确
确认导入路径、变量名没有错误,示例正确导入写法:
如果控制器文件存放路径和上述示例不一致,要调整为对应相对路径,路径错误会导致require导入空对象,所有属性调用都会返回undefined。var author_controller = require('../controllers/authorController'); - 确认你修改的是当前运行目录下的文件
你提到项目存在同名重复文件夹,要确认你修改的路由、控制器文件都在当前启动服务的express-locallibrary-tutorial目录内,避免修改了外层目录的旧文件,运行的还是内层未修改的代码。
内容的提问来源于stack exchange,提问作者Bridgette
相关产品推荐
相关产品推荐

