Vite配置路径别名的简单实现方法

1. 项目说明

主技术栈:

Vite + vue3 + TypeScript

项目中版本情况:

  1. “Vite”: “3.0.0”
  2. “Vue”: “3.2.37”
  3. “Ts”: “4.6.4”

出现问题:

在配置完Vite后,正常开发没问题,但是Ts类型检查报错:

找不到模块”/xxx/xxx/xxx”或其相应的类型声明

2. 解决方法

首先要配置Vite,根据官方文档中的给出的类型说明:

  1. Record<string, string> | Array<{ find: string | RegExp, replacement: string }>

由此可知:我们可以配置alias为一个对象,或一个 { find, replacement } 的数组

具体配置:

在根目录中的 vite.config.ts 中加入如下配置:(以下是我个人项目配置)

  1. import { resolve } from “path”; // 导入 path 模块,帮助我们解析路径
  2.  
  3. export default defineConfig({
  4.      resolve: { // 这里配置需要注意:Vite新版本resolve配置改为对象形式,如下:
  5.      alias: [
  6.          {
  7.          find: ‘@’,
  8.          replacement: resolve(__dirname, “src”),
  9.          },
  10.          {
  11.          find: ‘comps’,
  12.          replacement: resolve(__dirname, “src/components”),
  13.          },
  14.          {
  15.          find: ‘apis’,
  16.          replacement: resolve(__dirname, “src/apis”),
  17.          },
  18.          {
  19.          find: ‘views’,
  20.          replacement: resolve(__dirname, “src/views”),
  21.          },
  22.          {
  23.          find: ‘routes’,
  24.          replacement: resolve(__dirname, “src/router”),
  25.          },
  26.          {
  27.          find: ‘store’,
  28.          replacement: resolve(__dirname, “src/store”),
  29.          },
  30.          {
  31.          find: ‘utils’,
  32.          replacement: resolve(__dirname, “src/utils”),
  33.          },
  34.          {
  35.          find: ‘styles’,
  36.          replacement: resolve(__dirname, “src/styles”),
  37.          },
  38.          {
  39.          find: ‘layout’,
  40.          replacement: resolve(__dirname, “src/Layout”),
  41.          },
  42.          {
  43.          find: ‘models’,
  44.          replacement: resolve(__dirname, “src/models”),
  45.          },
  46.          {
  47.          find: ‘hooks’,
  48.          replacement: resolve(__dirname, ‘src/hooks’)
  49.          }
  50.      ],
  51.      }
  52. })

这样配置完成后,项目中可以正常使用,但是Ts类型检查会提示错误,接着,配置根目录下的 ts.config.json 文件:(这里还是我个人的配置,分别对应Vite中配置好的别名)

注意:主要配置 baseUrl 和 paths 两个配置项即可,其他选项是初始化项目自动生成的

  1. {
  2.      “compilerOptions”: {
  3.      “target”: “ESNext”,
  4.      “useDefineForClassFields”: true,
  5.      “module”: “ESNext”,
  6.      “moduleResolution”: “Node”,
  7.      “strict”: true,
  8.      “jsx”: “preserve”,
  9.      “sourceMap”: true,
  10.      “resolveJsonModule”: true,
  11.      “isolatedModules”: true,
  12.      “esModuleInterop”: true,
  13.      “lib”: [“ESNext”, “DOM”],
  14.      “skipLibCheck”: true,
  15.      “baseUrl”: “./”,
  16.      “paths”: {
  17.          “@/*”:[“src/*”],
  18.          “comps/*”: [“src/components/*”],
  19.          “apis/*”: [“src/apis/*”],
  20.          “views/*”: [“src/views/*”],
  21.          “routes/*”: [“src/router/*”],
  22.          “store/*”: [“src/store/*”],
  23.          “utils/*”: [“src/utils/*”],
  24.          “styles/*”: [“src/styles/*”],
  25.          “layout/*”: [“src/Layout/*”],
  26.          “models/*”: [“src/models/*],
  27.          “hooks/*”: [“src/hooks/*”]
  28.      }
  29.      },
  30.      “include”: [“src/**/*.ts”, “src/**/*.d.ts”, “src/**/*.tsx”, “src/**/*.vue”],
  31.      “references”: [{ “path”: “./tsconfig.node.json” }]
  32. }

配置完成后,Ts类型检查就不会报错了。(反应慢的重启一下VsCode)

总结

到此这篇关于Vite配置路径别名的简单实现方法的文章就介绍到这了,更多相关Vite配置路径别名内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

标签

发表评论