T3 Stack Pages路由模板异常:NextAuth导出默认函数错误求助
解决T3 Stack Pages Router模式下NextAuth配置报错问题
1. 先恢复node_modules的修改(关键)
直接修改node_modules内的文件是不可持续的,后续依赖更新会覆盖该修改。针对NextRequest导入错误,正确处理方式:
- 检查
package.json中next与next-auth的版本兼容性(T3生成的项目通常已自动匹配,若存在版本差异,执行依赖重装即可) - Pages Router模式下无需引入
next/server模块,若next-auth内部存在错误引用,大概率是模板生成时的Bug,重装依赖可解决
2. 修正[...nextauth].ts的导出逻辑
Pages Router的API路由不支持默认导出函数,需显式导出对应HTTP方法。将你创建的src/pages/api/auth/[...nextauth].ts修改为:
import NextAuth from "next-auth"; import { authConfig } from "~/server/auth/config"; const handler = NextAuth(authConfig); // Pages Router需显式导出GET/POST方法 export { handler as GET, handler as POST };
3. 验证auth配置的兼容性
检查~/server/auth/config.ts文件:
- 确保
pages配置项路径符合Pages Router规则(例如登录页路径应为/auth/login,对应src/pages/auth/login.tsx) - 确认所有身份验证Provider未引用App Router特有的模块(如
next/navigation)
4. 清理残留文件并重启服务
- 彻底删除
src/app目录 - 删除
.next缓存目录后,重新启动开发服务器:
rm -rf .next npm run dev
5. 可选:重装依赖修复版本问题
若上述步骤无效,执行以下命令重装依赖:
rm -rf node_modules package-lock.json npm install
内容的提问来源于stack exchange,提问作者questionsAsker
相关产品推荐
相关产品推荐

