vite+ts vscode无法识别别名路径

在vite+ts项目中,在vite.config.ts中配置了别名,在其他文件中使用别名,vscode会报错说找不到这个模块

vite.config.ts配置

// ...
resolve: {
    // 配置别名
    alias: {
      '@': path.join(__dirname, './src'),
      '@components': path.join(__dirname, './src/components'),
      '@utils': path.join(__dirname, './src/utils')
    }
  },
  // ...

在ts文件中使用 @utils

// 报错 can not find module ....
import utils from '@utils'

解决办法

配置 tsconfig.json

{
  "compilerOptions": {
    "target": "esnext",
    "module": "esnext",
    "moduleResolution": "node",
    "strict": true,
    "jsx": "preserve",
    "sourceMap": true,
    "resolveJsonModule": true,
    "esModuleInterop": true,
    "lib": ["esnext", "dom"],
    "types": ["vite/client"],

	// ++ 这里加上baseUrl 和 path即可 ++
    "baseUrl": "./",
    "paths": {
	  // 根据别名配置相关路径
      "@utils/*": ["./src/utils/*"]
    }
    
  },
  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
}

如果没有使用 ts 使用的是 js,那么只需要配置 jsconfig.json即可,这个和构建工具无关,只需要将这个json文件放在根目录即可,在webpack项目中也适用

jsconfig配置参考


版权声明:本文为chendf__原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。