Vite 路径别名配置:改了两处才生效
· 阅读需 2 分钟
TL;DR
Vite 路径别名需要同时配置 vite.config.ts 和 tsconfig.json,缺一不可:Vite 负责打包时解析,TypeScript 负责类型检查和 IDE 提示。
问题现象
只配了 vite.config.ts
// vite.config.ts
import { defineConfig } from 'vite'
import path from 'path'
export default defineConfig({
resolve: {
alias: {
'@': path.resolve(__dirname, './src')
}
}
})
打包运行正常,但 IDE 报错:
Cannot find module '@/components/Button' or its corresponding type declarations.
只配了 tsconfig.json
// tsconfig.json
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["src/*"]
}
}
}
IDE 不报错了,但 Vite 构建时报错:
[vite] Internal server error: Failed to resolve import "@/services/api"