You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Sanity中part:@sanity/base/schema-creator导入失败及React18.2兼容问题

解决@sanity/base与React18.2不兼容及导入失败问题

问题梳理

  • 核心错误提示:

    [plugin:vite:import-analysis] Failed to resolve import "part:@Choose/base/schema-creator" from "schemas/schema.js". Does the fileExist?

  • 尝试安装@sanity/base时遭遇版本与React18.2不兼容问题,且不愿升级React/ReactDOM
  • 问题出现在修改sanity.config.js导入语句为import {schemaTypes} from './schemas/schema'之后

可行解决办法

1. 安装兼容React18的指定版本@sanity/base

Sanity从v3.10版本开始支持React18,直接安装该区间的版本可避免冲突:

npm install @sanity/base@^3.10.0

安装完成后用以下命令验证依赖状态:

npm ls @sanity/base

2. 修正schema文件的part引用错误

注意到错误信息里的part:@Choose/base/schema-creator存在笔误,Choose应为sanity,修正为part:@sanity/base/schema-creator。如果是Sanity v3项目,更推荐直接从sanity包导入schema工具,无需依赖@sanity/base:

// schemas/schema.js
import { defineType, defineField } from 'sanity'

export const schemaTypes = [
  // 此处编写你的具体schema定义
]

3. 强制覆盖依赖版本实现兼容

若指定版本仍有冲突,可在package.json中添加overrides字段,强制让@sanity/base使用你的React版本:

{
  "overrides": {
    "@sanity/base": {
      "react": "^18.2.0",
      "react-dom": "^18.2.0"
    }
  }
}

添加后执行npm install重新安装依赖即可。

4. 统一回退到兼容React18的Sanity套件版本

如果单改@sanity/base无效,可以将整个Sanity相关包回退到v3.10+版本,确保整体生态兼容:

npm install sanity@^3.10.0 @sanity/cli@^3.10.0

内容的提问来源于stack exchange,提问作者Jerm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 10:17:23