You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导入refresh控制器报错:Route.get()需回调函数却获[object Undefined]

解决Route.get() requires a callback function but got a [object Undefined]问题

这个报错的核心原因是你绑定到/refresh路由的refresh控制器为undefined,大概率是导出或导入环节出了问题,按以下步骤排查:

  • 检查authController.ts中refresh的导出
    确保使用正确的具名导出语法,比如:

    // authController.ts
    export const refresh = (req, res) => {
      // 你的刷新令牌逻辑代码
    };
    

    不要遗漏export关键字,也不要写错导出名称(比如控制器里导出refreshToken,路由里却用refresh)。如果是类形式的控制器,要确保方法是静态的或已正确实例化导出:

    export class AuthController {
      static refresh(req, res) {
        // 逻辑代码
      }
    }
    
  • 检查authRoute中的导入和路由绑定
    确认导入的变量名和控制器导出的完全一致,绑定路由时不要写错:

    // authRoute.ts
    import { Router } from 'express';
    import { refresh } from './authController'; // 此处refresh需与控制器导出名一致
    
    const router = Router();
    router.get('/refresh', refresh); // 确保此处refresh不是undefined
    

    可以在路由文件里加一行console.log(refresh),启动服务后查看控制台输出,如果结果是undefined,说明导入环节肯定存在问题。

  • 检查refresh控制器的函数定义
    排查函数体内是否有语法错误(比如未闭合的括号、缺失的逗号等),语法错误会导致函数定义失败,最终导出的内容为undefined。

内容的提问来源于stack exchange,提问作者Mouez MT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 01:20:38