Sanity Studio配置@路径别名后导入解析失败问题求助
Sanity Studio配置@路径别名后导入解析失败问题求助
嘿,我看你在Sanity Studio里给src文件夹配置了@路径别名,但碰到了Vite解析导入失败的问题,已经在TypeScript和Sanity CLI里都做了配置还是不行对吧?我来帮你排查下几个关键的点:
1. 先确认Sanity CLI的Vite别名配置是否到位
Sanity Studio的Vite配置有点特殊,得在sanity.cli.ts或者sanity.config.ts里专门配置Vite的resolve规则,不能只靠TS的配置。举个正确的配置例子:
import { defineConfig } from 'sanity' import { vitePlugin as sanityVite } from 'sanity-plugin-vite' export default defineConfig({ plugins: [sanityVite()], vite: { resolve: { alias: { '@': '/src' // 这里要对应你的src目录相对于项目根的路径 } } } })
要注意路径的写法,如果你的src就在项目根目录下,用/src就对了;如果是嵌套目录,得调整成对应的相对路径。
2. 检查TypeScript配置的完整性
你贴的tsconfig内容不全,得确保compilerOptions里的baseUrl和paths是配对的,正确的配置应该是这样:
{ "extends": "@configs/typescript/react-library.json", "compilerOptions": { "baseUrl": ".", // 这个是基础,必须设置,不然paths不生效 "paths": { "@/*": ["src/*"] // 通配符*要加上,确保子目录的导入也能匹配 } } }
要是没加baseUrl,TS的路径别名根本不会生效,这是很容易踩的坑。
3. 排查缓存和服务重启问题
有时候Vite或者Sanity的缓存会搞事情,你可以试试:
- 删除项目里的
.sanity目录 - 删除
node_modules/.vite缓存文件夹 - 彻底关掉Sanity Studio的服务,重新启动一次
4. 检查导入语句的写法
看看你代码里的导入是不是写对了,比如应该是import MyComponent from '@/components/MyComponent',而不是少了斜杠写成@components/...,这个细节很容易出错。
如果还是不行的话,能不能把你完整的sanity.cli.ts配置和tsconfig的全部内容贴出来?这样能更精准地找到问题所在~
内容来源于stack exchange
相关产品推荐
相关产品推荐

