TypeScript Sanity语法错误:unexpected token及defineConfig导出问题
问题解决方案
一、utils目录下fetchSkills文件语法错误(unexpected token)
- 对比同结构的正常fetch文件,逐行排查语法细节:重点检查括号、逗号、箭头函数(
=>)、引号是否存在拼写或格式错误,比如多写/漏写符号、模板字符串误用单引号而非反引号。 - 确认文件扩展名与语法匹配:如果使用了ES6+或TypeScript语法,确保文件扩展名是对应的
.js/.ts,且项目工具链已配置对应语法的支持。 - 排查文件编码问题:新建空白文件,将原代码复制进去重新保存,避免因文件编码异常导致解析器识别错误字符。
- 检查工具链配置:确认webpack、vite等构建工具对utils目录没有特殊排除规则,确保语法转译逻辑覆盖到该文件。
二、Build时提示“Module 'sanity' has no exported member 'defineConfig'”
- 重新安装依赖:删除sanity目录下的
node_modules和package-lock.json,执行npm install,确保依赖安装完整无损坏。 - 验证导入语句:确认
sanity.config.ts中导入语句为import { defineConfig } from 'sanity',未错误导入其他子路径。 - 检查TS配置:若使用TypeScript,确保
tsconfig.json的moduleResolution设置为node16或bundler,避免导入解析异常。 - 排查版本冲突:执行
npm ls sanity查看项目中sanity的实际依赖版本,确认没有低版本依赖被意外引入(尤其monorepo结构场景)。 - 清除缓存:执行
npx sanity cache clean,同时清除构建工具的缓存目录(如Next.js的.next、Vite的.vite)。
内容的提问来源于stack exchange,提问作者BLCKSTRT
相关产品推荐
相关产品推荐

