【解决】Vue + Vite + TS 配置路径别名成功仍爆红

目录

前言

一.vite.config.ts

二.tsconfig.json

[三. 别名配置成功,但语法提示爆红问题](#三. 别名配置成功,但语法提示爆红问题)

四、可能遇到的问题


前言

‌在项目中设置路径别名后仍然出现爆红问题,通常是由于配置不完整或配置错误导致的。Vite 中配置 alias 总共需要配置两个地方:

  • vite.config.ts:让代码编译通过
  • tsconfig.json:让代码编辑器语法验证通过

一.vite.config.ts

TypeScript 复制代码
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import path from "path";

export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      // 相对路径别名配置,使用 @ 代替 src
      "@": path.join(__dirname, "./src"),
    },
  },
});

如果你的项目引入path报错,则需要下载

bash 复制代码
npm i @types/node

二.tsconfig.json

bash 复制代码
{
   ...其他代码
	
  "compilerOptions": {
    // 路径
    "baseUrl": ".",
    "paths": {
      "@/*": ["./src/*"]
    }
  },
}

三. 别名配置成功,但语法提示爆红问题

你可能会发现,明明使用别名后,模块能够正常引入运行,但是语法提示就是爆红。

如果出现这种情况、那么大概率是 tsconfig.json 中的 compilerOptions 配置被覆盖了。

可以通过以下手段排查。

  1. 查看 vscode 对 ts 配置加载的文件

    可以明显的看到,加载完 tsconfig.json 文件后,还加载了 tsconfig.app.json 配置文件

  2. 查看 vscode 默认加载的 tsconfig.json 文件可以发现,它引入了tsconfig.app.json 文件

    bash 复制代码
    {
      "files": [],
      "references": [
        { "path": "./tsconfig.app.json" },
        { "path": "./tsconfig.node.json" }
      ],
      "compilerOptions": {
        "baseUrl": ".", // 解析非相对模块的基地址,默认是当前目录
        "paths": {
          //路径映射,相对于baseUrl
          "@/*": ["src/*"]
        },
        "allowSyntheticDefaultImports": true
      },
    }
  3. 查看 tsconfig.app.json 文件我们可以发现,它也有一个 compolerOptions 配置,这样它就把 tsconfig.json 中的配置覆盖掉了

    bash 复制代码
     "compilerOptions": {
        "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
    
    	/* Linting */
        "strict": true,
    	"noUnusedLocals": true,
        "noUnusedParameters": true,
    	"noFallthroughCasesInSwitch": true,
        "noUncheckedSideEffectImports": true,
      },
  4. 找到问题,我们直接把对应的配置放到 tsconfig.app.json 中即可

    bash 复制代码
    "compilerOptions":{
    	... 其他配置
    	"baseUrl":".",
    	"paths":{
    		"@/*":["src/*"],
    		"@/*":["./src/*"],// 这样也可以,路径正确即可
    	}
    }
  5. 重启 vscode!!!

四、可能遇到的问题

  1. 配置后 vscode 仍然报语法提示错误,但是项目编译通过。

解决办法:重启vscode

  1. vscode 语法提示通过,项目不通过

解决办法:vite.config.ts 中 alias 配置指定的地址如"@": path.join(__dirname, "./src"),要使用 path.join 方法处理,用相对路径的话,在编译时可能文件处于的路径会改变。

相关推荐
eEKI DAND21 小时前
一个比 Nginx 还简单的 Web 服务器
服务器·前端·nginx
weixin_4434785121 小时前
Flutter学习之自定义组件
javascript·学习·flutter
Highcharts.js1 天前
Highcharts 云端渲染的真相:交互式图表与服务器端生成的边界
前端·信息可视化·服务器渲染·highcharts·图表渲染
zhuyan1081 天前
Linux 系统磁盘爆满导致无法启动修复指南
前端·chrome
编程牛马姐1 天前
独立站SEO流量增长:提高Google排名的优化方法
前端·javascript·网络
NotFound4861 天前
实战指南如何实现Java Web 拦截机制:Filter 与 Interceptor 深度分享
java·开发语言·前端
Dontla1 天前
高基数(High Cardinality)问题介绍(Prometheus、高基数字段、低基数字段)
前端·数据库·prometheus
一 乐1 天前
医院挂号|基于springboot + vue医院挂号管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·医院挂号管理系统
whuhewei1 天前
为什么客户端不存在跨域问题
前端·安全
妮妮喔妮1 天前
supabase的webhook报错
开发语言·前端·javascript