Next.js13.4迁移至app目录后用getServerSession报错:找不到preact-render-to-string
解决Next.js 13.4 App目录中getServerSession报错"preact-render-to-string"缺失的问题
1. 安装缺失的依赖包
这个报错是因为next-auth核心模块依赖preact-render-to-string但项目未安装该包,直接执行以下命令安装:
npm install preact-render-to-string # 或使用yarn yarn add preact-render-to-string
2. 升级next-auth到兼容版本
Next.js 13.4的App目录对服务端组件逻辑有更新,旧版本next-auth可能存在兼容问题,建议升级到最新稳定版:
npm update next-auth # 或使用yarn yarn upgrade next-auth
3. 确认authOptions的导出方式
确保@/pages/api/auth/[...nextauth]文件中,authOptions为命名导出(而非默认导出),因为getServerSession需要接收命名导出的配置对象:
// 正确的导出示例 export const authOptions = { // 你的认证配置内容... } export default NextAuth(authOptions);
完成以上操作后重启开发服务器,即可解决该模块缺失的报错。
内容的提问来源于stack exchange,提问作者MajdNaji
相关产品推荐
相关产品推荐

