Next.js 13.4.5集成next-connect 1.0.0路由时类型错误求助
解决Next.js 13.4.5 + next-connect 1.0.0 API路由错误问题
错误原因拆解
- 默认导入
nc报错:next-connect 1.0.0已移除默认导出,无法通过import nc from 'next-connect'使用,必须改用命名导入createRouter。 createRouter报resolver is not a function:多是路由处理函数挂载或导出方式错误,未生成Next.js可识别的API handler。
正确实现代码
在pages/api/auth/signup.js中替换为以下代码:
import { createRouter } from 'next-connect'; // 创建路由实例 const router = createRouter(); // 定义POST请求处理逻辑 router.post((req, res) => { res.status(200).send('Welcome from the signup page.'); }); // 导出路由handler供Next.js调用 export default router.handler({ // 可选:配置全局错误处理(可根据需求调整) onError: (err, req, res) => { res.status(500).json({ error: err.message }); }, });
验证步骤
用Postman向http://localhost:3000/api/auth/signup发送POST请求,即可收到预期的响应文本。
补充说明
- next-connect 1.x的API与旧版本差异较大,所有路由操作需通过
createRouter创建实例后执行。 - 如需支持其他请求方法(如GET),直接链式调用
router.get(处理函数)即可。
内容的提问来源于stack exchange,提问作者Riyan Ali
相关产品推荐
相关产品推荐

