本地环境编译报错:无法解析@sanity/client模块
解决「Module not found: Can't resolve '@sanity/client'」错误
这个错误的核心原因是项目中缺少@sanity/client和@sanity/image-url两个依赖包,按以下步骤解决:
1. 安装缺失的Sanity依赖
在项目根目录下运行对应命令安装依赖:
使用npm:
npm install @sanity/client @sanity/image-url
使用yarn:
yarn add @sanity/client @sanity/image-url
2. 验证依赖安装状态
打开项目根目录的package.json文件,检查dependencies字段中是否包含这两个包,确认安装成功。
3. 额外检查项
- 重启Next.js开发服务器:安装依赖后需重启服务器,才能让新依赖生效。
- 确认文件路径:你的
index.js中导入client的路径../lib/client是正确的,若后续仍出现路径相关错误,可核对文件目录结构。 - 修复
getServerSideProps中的小问题(与当前错误无关,但会导致banner数据异常):获取bannerData时误用了product的查询语句,应修改为:
原代码中const bannerData = await client.fetch(bannerQuery);(bannerQuery)是无效语句,可直接删除。
内容的提问来源于stack exchange,提问作者DiwSlow
相关产品推荐
相关产品推荐

