以下是自定义针对 Vite + TypeScript 项目的完整路径别名配置流程:
以下是针对 Vite + TypeScript 项目的完整路径别名配置流程:
1. 安装必要依赖
bash
npm install -D @types/node
2. 配置 vite.config.ts
typescript
// vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path' // 需要 @types/node 支持export default defineConfig({plugins: [vue()],resolve: {alias: {'@': path.resolve(__dirname, './src'),// 可选:其他路径别名'#': path.resolve(__dirname, './types')}}
})
3. 配置 tsconfig.json
json
{"compilerOptions": {"target": "ESNext","useDefineForClassFields": true,"module": "ESNext","moduleResolution": "NodeNext","strict": true,"jsx": "preserve","resolveJsonModule": true,"isolatedModules": true,"esModuleInterop": true,"lib": ["ESNext", "DOM"],"skipLibCheck": true,"types": ["node"], // 添加 node 类型"baseUrl": ".","paths": {"@/*": ["./src/*"],"#/*": ["./types/*"]}},"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.vue"],"references": [{ "path": "./tsconfig.node.json" }]
}
4. 配置 tsconfig.node.json
json
{"compilerOptions": {"composite": true,"module": "ESNext","moduleResolution": "NodeNext","allowSyntheticDefaultImports": true,"types": ["node"] // 确保包含 node 类型},"include": ["vite.config.ts"]
}
5. 配置项目结构验证
确保目录结构如下:
markdown
├─ src/
│ ├─ components/
│ │ └─ Layout1.vue
├─ types/
├─ vite.config.ts
├─ tsconfig.json
6. 重启开发服务器
bash
npm run dev
7. 验证配置是否生效
在代码中测试:
typescript
// src/main.ts
import { createApp } from 'vue'
import App from '@/App.vue' // 验证 @ 别名createApp(App).mount('#app')
8. 常见问题解决方案
问题 1:TS2307 错误仍然存在
检查以下文件是否存在:
bash
ls src/components/Layout1.vue
问题 2:路径解析失败
在终端执行:
bash
npx vite inspect
查看输出的 resolve.alias 配置
问题 3:Node 类型报错
重新安装依赖:
bash
npm install -D @types/node
9. 完整类型声明文件配置
创建 src/vue.d.ts:
typescript
// vue.d.ts
declare module '*.vue' {import type { DefineComponent } from 'vue'const component: DefineComponent<{}, {}, any>export default component
}// 路径别名类型声明
declare module '@/*' {export * from '@/src/*'
}
10. 最终验证流程
- 确保所有配置文件保存
- 停止并重启开发服务器
- 检查控制台是否有编译错误
- 鼠标悬停导入路径查看是否解析正确
https://i.imgur.com/5tGm8C4.png
按照以上步骤完成后,@/components/Layout1.vue 的路径解析问题应该得到解决。如果仍然存在问题,可以检查:
- IDE 缓存:VS Code 执行
Ctrl+Shift+P→Restart TS Server - 文件命名:检查大小写是否一致 (Layout1.vue vs Layout1.Vue)
- 扩展名:是否在导入时遗漏了 .vue 扩展名
"module": "ESNext", 报错
改为
{
"compilerOptions": {
"composite": true,
"module": "NodeNext",
"moduleResolution": "NodeNext",
"allowSyntheticDefaultImports": true,
"types": ["node"] // 确保包含 node 类型
},
"include": ["vite.config.ts"]
}
相关文章:
以下是自定义针对 Vite + TypeScript 项目的完整路径别名配置流程:
以下是针对 Vite TypeScript 项目的完整路径别名配置流程: 1. 安装必要依赖 bash npm install -D types/node 2. 配置 vite.config.ts typescript // vite.config.ts import { defineConfig } from vite import vue from vitejs/plugin-vue import path from pat…...
LangGraph系列教程:基于状态构建上下文感知的AI系统
本文深入探讨LangGraph中的“状态”概念及其在AI工作流中的核心作用。通过基础状态(如计数器)和复杂状态(含消息历史)的定义,结合代码示例,演示如何通过函数式编程实现状态的不可变修改。然后进一步解析了如…...
图像处理、数据挖掘、数据呈现
目录 图像处理方法 阈值分割 图像处理方法 图像平滑 图像锐化 图像增强 阈值分割 边缘检测 阈值分割 特征提取 提取边界 区域提取 主成分压缩 POI 多源数据 数据挖掘 多源数据提取 关联度提取 位置集群, 新闻事件, 权限 个人喜好 历史…...
利用python和gpt写一个conda环境可视化管理工具
最近在学习python,由于不同的版本之间的差距较大,如果是用环境变量来配置python的话,会需要来回改,于是请教得知可以用conda来管理,但是conda在管理的时候老是要输入命令,感觉也很烦,于是让gpt帮…...
sort_values、sort 和 sorted 的区别与用法详解
sort_values、sort 和 sorted 是 Python 中用于排序的工具,但它们的适用场景和行为有所不同。以下是它们的区别和用法详解: 1. sort_values 适用对象 Pandas 的 Series 或 DataFrame。 功能 对 Pandas 数据结构中的值进行排序。 特点 专为 Pandas 设…...
银行系统功能架构设计元模型
1. 元模型核心目标 规范性:定义功能模块的标准化描述方式,便于跨团队协作。可复用性:抽象通用组件,减少重复开发。可扩展性:支持未来业务创新和技术升级(如开放银行API集成)。2. 元模型层级结构 采用分层架构模式,分为以下核心层级: **(1) 业务功能层** …...
rabbitmq 延时队列
要使用 RabbitMQ Delayed Message Plugin 实现延时队列,首先需要确保插件已安装并启用。以下是实现延时队列的步骤和代码示例。 1. 安装 RabbitMQ Delayed Message Plugin 首先,确保你的 RabbitMQ 安装了 rabbitmq-delayed-message-exchange 插件。你可…...
idea + Docker + 阿里镜像服务打包部署
一、下载docker desktop软件 官网下载docker desktop,需要结合wsl使用 启动成功的画面(如果不是这个画面例如一直处理start或者是stop需要重新启动,不行就重启电脑) 打包成功的镜像在这里,如果频繁打包会导致磁盘空间被占满,需…...
Vue 3 零基础入门:从计数器应用开始你的工程化之旅 - 深入理解 Vue 3 响应式系统
引言 欢迎来到 Vue 3 + 现代前端工程化 系列技术博客! 本系列博客旨在通过每日构建一个小项目,帮助您深入学习 Vue 3 的各项核心特性,并掌握现代前端工程化的实践技能。 在接下来的系列文章中,我们将从零开始,由浅入深,逐步构建一系列实用的小型应用。 今天,作为本系列…...
批量将手机照片修改为一寸白底证件照的方法
生活中经常需要用到一寸白底证件照,但每次去照相馆拍摄既费时又麻烦。其实,利用手机拍照和批量证件照生成工具,就能轻松批量修改手机照片为一寸白底证件照。 首先,在电脑浏览器中打开【报名电子照助手】,找到“批量证件…...
【Docker基础】理解 Docker:本质、性质、架构与核心组件
文章目录 Docker 本质Docker 的引擎迭代Docker 和虚拟机的区别Docker 为什么比虚拟机资源利用率高,速度快?Docker 和 JVM 虚拟化的区别Docker 版本1. LXC (Linux Containers)2. libcontainer3. Moby4. docker-ce5. docker-ee总结: Docker 架构…...
LeetCodehot 力扣热题100 全排列
这段代码的目的是计算给定整数数组的所有全排列(permutations),并返回一个包含所有排列的二维数组。 思路解析 在这段代码中,采用了 深度优先搜索(DFS) 和 回溯 的方法来生成所有的排列。 关键步骤…...
SQL笔记#数据更新
一、数据的插入(INSERT语句的使用方法) 1、什么是INSERT 首先通过CREATE TABLE语句创建表,但创建的表中没有数据;再通过INSERT语句向表中插入数据。 --创建表ProductIns CREATE TABLE ProductIns (product_id CHAR(4) NOT NULL,product_name VARCHAR(1…...
GCC 和 G++的基本使用
GCC 和 G 命令 GCC 和 G 命令GCC(GNU C 编译器)基本用法常用选项示例 G(GNU C 编译器)基本用法常用选项示例 GCC 与 G 的区别选择使用 GCC 还是 G C编译流程1. 预处理(Preprocessing)2. 编译(Co…...
Maven中一些基础知识点
早些时候只知道创建或者开发springboot项目时候,有一个叫pom.xml的文件可以用来管理项目所需的依赖/第三方工具。 索性稍微深入了解了一下,然后把自己认为重要的记录下来。 首先我们要引入新的依赖自然是在dependencies下写dependency,这个…...
论文阅读笔记:Deep Face Recognition: A Survey
论文阅读笔记:Deep Face Recognition: A Survey 1 介绍2 总览2.1 人脸识别组件2.1.1 人脸处理2.1.2 深度特征提取2.1.3 基于深度特征的人脸对比 3 网络结构和损失函数3.1 判别损失函数的演化3.1.1 基于欧式距离的损失3.1.2 基于角度/余弦边距的损失3.1.3 Softmax损失…...
JVM生产环境问题定位与解决实战(三):揭秘Java飞行记录器(JFR)的强大功能
提到飞行记录器,或许你的脑海中并未立刻浮现出清晰的画面,但一说起“黑匣子”,想必大多数人都能恍然大悟,知晓其重要性及用途。在航空领域,黑匣子作为不可或缺的设备,默默记录着飞行过程中的每一项关键数据…...
爬虫框架与库
爬虫框架与库是用于网络数据抓取的核心工具,帮助开发者高效地从网页中提取结构化数据。 Requests:用于发送HTTP请求。 BeautifulSoup:用于解析HTML和XML。 Scrapy:强大的爬虫框架,适合大规模爬取。 Selenium&#…...
PyTorch常用函数总结(持续更新)
本文主要记录自己在用 PyTorch复现经典模型 过程中遇到的一些函数及用法,以期对 常见PyTorch函数 更加熟练~ 官方Docs:PyTorch documentation — PyTorch 2.6 documentation 目录 数据层面 torch.sign(tensor) torch.tensor(np.eye(3)[y]) torch.on…...
代码异常(js中push)NO.4
1. 环境 Vue3,Element Plsu 2. 示例代码 const { updateBy, updateTime, ...curObj } form.valuecurObj.id props.tableData.length 1var newTableData props.tableData.push(curObj)updateTableData(newTableData)3. 情景描述 newTableData变成了整数&#…...
E7Helper:第七史诗自动化助手,如何实现24小时无忧挂机?
E7Helper:第七史诗自动化助手,如何实现24小时无忧挂机? 【免费下载链接】e7Helper 【EPIC】第七史诗多功能覆盖脚本(刷书签🍃,挂讨伐、后记、祭坛✌️,挂JJC等📛,多服务器支持&#…...
从非隔离LED驱动器到SELV:为何你的照明设备需要这道“安全锁”?
1. 当LED灯条亮起时,你触摸到的可能是100多伏电压 去年装修新房时,我差点被客厅的LED灯带"咬"了一口。当时灯带接口处有些松动,我下意识伸手去调整,指尖突然传来一阵刺痛——后来用万用表测量才发现,这条标榜…...
C语言释疑3:声明Declaration与定义Definition
要弄懂这两者,其实没啥大的困难。可是,至少有半数以上的C书没能分清。有的书在某一章节里把这个问题说清楚了,可在其它章节里却乱说一气。真是无奈。 这两者都是对实体Object的操作。 对于任何一个实体,Definition必须有一次&…...
QCustomPlot图表美化指南:坐标轴刻度格式的全面解析(gb、f、c格式详解)
QCustomPlot图表美化指南:坐标轴刻度格式的全面解析(gb、f、c格式详解) 在数据可视化领域,细节决定专业度。一个优秀的图表不仅需要准确传达信息,更需要通过精心的视觉设计提升阅读体验。作为Qt生态中最强大的绘图库之…...
AIAgent多租户隔离不是选题——是生死线:基于17个金融/医疗客户落地案例的SLA保障型隔离架构白皮书
第一章:AIAgent多租户隔离不是选题——是生死线 2026奇点智能技术大会(https://ml-summit.org) 当一个金融风控Agent与医疗诊断Agent共享同一推理引擎、缓存层和向量数据库连接池时,租户间的数据边界便不再是策略问题,而是攻击面暴露的起点。…...
NVIDIA Jetson Orin系列:人形机器人边缘AI计算的革命性突破
1. 为什么人形机器人需要NVIDIA Jetson Orin? 当你看到波士顿动力Atlas机器人后空翻时,可能不会想到背后需要多少算力支持。传统机器人主控芯片在实时处理高清摄像头、激光雷达、惯性测量单元等多传感器数据时常常力不从心,就像用老年机玩3A游…...
HJ177 可匹配子段计数
知识点双指针 校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,而非本地IDE。 描述 给定整数数组 aa(长度 nn)与数组 bb(长度 mm,m≦nm≦n)。设一个长度…...
Cursor Pro 完整破解指南:开源工具实现永久免费使用的7个关键步骤
Cursor Pro 完整破解指南:开源工具实现永久免费使用的7个关键步骤 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reach…...
有哪些AI生成软件能写出逻辑清晰的毕业论文(非抄袭向)?
选择能写出逻辑清晰、非抄袭毕业论文的 AI 工具,核心是选学术专用、长文本逻辑强、支持真实文献、可降 AI 率的工具。以下是 2026 年实测好用、适合毕业论文全流程的主流软件,按中文 / 英文、文科 / 理工、免费 / 付费分类推荐:一、中文论文首…...
[精品]基于微信小程序的宿舍报修系统的设计与实现 UniApp
收藏关注不迷路!!需要的小伙伴可以发链接或者截图给我 这里写目录标题项目介绍项目实现效果图所需技术栈文件解析微信开发者工具HBuilderXuniappmysql数据库与主流编程语言登录的业务流程的顺序是:毕设制作流程系统性能核心代码系统测试详细视…...
