Next.js13+Sanity部署报错:sanity模块无defineConfig导出成员
解决Sanity配置文件
defineConfig导出错误问题 问题原因
报错Module 'sanity' has no exported member 'defineConfig'是因为代码使用了Sanity v3的配置API,但当前项目依赖的Sanity版本为v2,或是v3依赖未正确安装。
解决方案
方案1:适配Sanity v2版本
如果项目基于Sanity v2,修改sanity.config.ts为v2的配置格式(无需defineConfig,直接导出配置对象):
import { deskTool } from '@sanity/desk-tool' import { visionTool } from '@sanity/vision' import { schemaTypes } from './schemas' export default { name: 'default', title: 'Portfolio', projectId: '0sy14sfv', dataset: 'production', plugins: [deskTool(), visionTool()], schema: { types: schemaTypes, }, }
注意:v2中deskTool需从@sanity/desk-tool包导入,若未安装该包,执行以下命令:
npm install @sanity/desk-tool
方案2:升级到Sanity v3版本
若要迁移到Sanity v3,先更新依赖:
npm install sanity@latest @sanity/vision@latest
你当前的sanity.config.ts代码符合v3要求,若仍报错,清理构建缓存后重新安装依赖:
rm -rf node_modules package-lock.json npm install
在Vercel部署时,可在构建设置中替换构建命令为上述清理+安装+构建的组合命令,避免缓存旧依赖导致问题。
内容的提问来源于stack exchange,提问作者SAWAN KUMAR BHAGAT
相关产品推荐
相关产品推荐

