Next.js+Netlify调用Sanity时遇TypeError: sanityClient is not a function
解决“sanityClient is not a function”报错问题
问题原因
你使用的@sanity/client版本(v3及以上)已不再默认导出sanityClient函数,而是采用命名导出的createClient方法来创建客户端实例,旧写法自然会触发函数不存在的报错。
修复方案
将你的代码修改为以下形式:
const { createClient } = require('@sanity/client') const client = createClient({ projectId: 'PROJECT_ID', dataset: 'production', token: process.env.TOKEN, useCdn: false // Netlify Functions环境建议关闭CDN,确保数据实时性或适配token权限 })
补充说明
- 若坚持使用旧版
sanityClient写法,需安装v2版本依赖:npm install @sanity/client@2,但不推荐此做法,因v2已停止维护。 - 确认Netlify后台已正确配置环境变量
TOKEN,避免后续因权限缺失引发新问题。
内容的提问来源于stack exchange,提问作者user11482333
相关产品推荐
相关产品推荐

