在Vue+Ts+Vite项目中如何配置别名指向不同的目录并引用

在Vue+Ts+Vite项目中如何配置别名指向不同的目录并引用

  • vite.config.ts配置如下:
    • tsconfig.json中需要配置baseUrl和paths,如下所示:
    • 项目中直接引入案例:

vite.config.ts配置如下:

import { defineConfig, AliasOptions } from 'vite';
import vue from '@vitejs/plugin-vue';
import path from 'path';
//vue3+vite+ts 配置@时vscode报找不到__dirname的问题:
//报错原因:path 模块是 node.js 的内置模块,而 node.js 默认不支持 ts 文件的
//解决:安装 @type/node 依赖包 npm install @types/node --save-dev 或 cnpm i @types/node --save-dev、pnpm i @types/node --save-devexport default defineConfig({plugins: [vue()],resolve: {// 这里配置需要注意:Vite新版本resolve配置改为对象形式,如下:alias: [{find: '@',replacement: path.resolve(__dirname, 'src')},{find: 'pub',replacement: path.resolve(__dirname, 'public/')},{find: 'comps',replacement: path.resolve(__dirname, 'src/components')},{find: 'apis',replacement: path.resolve(__dirname, 'src/apis')},{find: 'views',replacement: path.resolve(__dirname, 'src/views')},{find: 'routes',replacement: path.resolve(__dirname, 'src/router')},{find: 'store',replacement: path.resolve(__dirname, 'src/store')},{find: 'utils',replacement: path.resolve(__dirname, 'src/utils')},{find: 'styles',replacement: path.resolve(__dirname, 'src/styles')},{find: 'layout',replacement: path.resolve(__dirname, 'src/Layout')},{find: 'models',replacement: path.resolve(__dirname, 'src/models')},{find: 'hooks',replacement: path.resolve(__dirname, 'src/hooks')}]}
});

在这里插入图片描述

tsconfig.json中需要配置baseUrl和paths,如下所示:

{"compilerOptions": {"target": "ES2020","useDefineForClassFields": true,"module": "ESNext","lib": ["ES2020", "DOM", "DOM.Iterable"],"skipLibCheck": true,/* Bundler mode */"moduleResolution": "bundler","allowImportingTsExtensions": true,"resolveJsonModule": true,"isolatedModules": true,"noEmit": true,"jsx": "preserve",/* Linting */"strict": true,/*ts中声明引入未使用的报错——解决方案----"noUnusedLocals": false*/"noUnusedLocals": false,"noUnusedParameters": true,"noFallthroughCasesInSwitch": true,"baseUrl": ".","paths": {"@/*": ["src/*"],"pub/*": ["public/*"],"comps/*": ["src/components/*"],"apis/*": ["src/apis/*"],"views/*": ["src/views/*"],"routes/*": ["src/router/*"],"store/*": ["src/store/*"],"utils/*": ["src/utils/*"],"styles/*": ["src/styles/*"],"layout/*": ["src/Layout/*"],"models/*": ["src/models/*"],"hooks/*": ["src/hooks/*"]}},"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],"references": [{ "path": "./tsconfig.node.json" }]
}

在这里插入图片描述

项目中直接引入案例:

// 引入public文件下的json文件示例
import JsonCard from 'pub/json/Card.json';
pub代表在vite.config.ts中配置的,直接指向public目录
{find: 'pub',replacement: path.resolve(__dirname, 'public/')
},

DeskTop.vue:

<template><span>这是DeskTop页面</span><div class="cardContent"><el-card class="box-card" v-for="item in list" :key="item.Icon"><CardCom :info="item"></CardCom></el-card></div>
</template><script lang="ts" setup>
import { ref, reactive, toRefs, markRaw } from 'vue';
import CardCom from '../../../components/CardCom.vue';
//引入案例
import JsonCard from 'pub/json/Card.json';const list = ref([{Title: '新增用户',Icon: 'User',Count: 10291},{Title: '未读消息',Icon: 'Message',Count: 8912},{Title: '成交金额',Icon: 'Money',Count: 9280},{Title: '购物总量',Icon: 'Shop',Count: 13600}
]);
console.log(list.value);
</script><style lang="scss" scoped>
.cardContent {width: 100%;margin: 0px auto;.box-card {float: left;width: 24%;margin-right: 5px;margin-bottom: 20px;}.left,.right {float: left;width: 48%;margin-bottom: 20px;}.lineCard {width: 97.5%;}.right {margin-left: 20px;}
}
</style>

是可以直接可以读取到的,如下图所示:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/103247.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

绘制X-Bar-S和X-Bar-R图,监测过程,计算CPK过程能力指数

X-Bar-S图和X-Bar-R图是统计质量控制中常用的两种控制图&#xff0c;用于监测过程的稳定性和一致性。它们的主要区别在于如何计算和呈现数据的变化以及所关注的问题类型。 X-Bar-S图&#xff08;平均值与标准偏差图&#xff09;&#xff1a; X-Bar代表样本均值&#xff0c;S代表…

路由高级特性

项目拓扑与项目需求 项目需求 某企业网络使用ospf和isis作为IGP协议实现内部网络的互联互通&#xff0c;区域规划和IP规划如图所示&#xff0c;现在要求实现如下需求&#xff1a; LSW1和AR1使用vlan10互联&#xff0c;与AR2使用vlan20互联&#xff0c;LSW1与LSW2、3、4之间使…

spring boot RabbitMq基础教程

RabbitMq 由于RabbitMQ采用了AMQP协议&#xff0c;因此它具备跨语言的特性。任何语言只要遵循AMQP协议收发消息&#xff0c;都可以与RabbitMQ交互。并且RabbitMQ官方也提供了各种不同语言的客户端。 但是&#xff0c;RabbitMQ官方提供的Java客户端编码相对复杂&#xff0c;一般…

将vue项目打包成安卓app

目标&#xff1a;将vue项目打包成安卓app 工具&#xff1a;HbuilderX 1.在HbuilderX中创建一个 5App 项目 创建好的app项目目录 2.将vue项目打包 2.1 在 vue.config.js 中添加公共路径&#xff08;解决打包后的app图片不显示问题&#xff09; module.exports defineConfig(…

深入了解线程:并发编程的核心要点和应用

什么是线程&#xff1f; 线程&#xff08;Thread&#xff09;是计算机科学中的一个基本概念&#xff0c;它是进程内的执行单元。线程是操作系统或进程内部的轻量级执行流&#xff0c;具有独立的程序计数器&#xff08;PC&#xff09;和栈&#xff0c;但共享相同进程的资源&…

Python高效实现网站数据挖掘

在当今互联网时代&#xff0c;SEO对于网站的成功至关重要。而Python爬虫作为一种强大的工具&#xff0c;为网站SEO带来了革命性的改变。通过利用Python爬虫&#xff0c;我们可以高效地实现网站数据挖掘和关键词分析&#xff0c;从而优化网站的SEO策略。本文将为您详细介绍如何利…

新风机缺点有哪些?

虽然新风机在提供新鲜空气和改善室内空气质量方面有很多优点&#xff0c;但它也存在一些缺点。下面列举几个常见的新风机缺点&#xff1a; 安装成本较高&#xff1a;新风机需要通过管道连接室内和室外&#xff0c;需要对房屋进行改造和安装。这可能会增加一些额外的安装成本&am…

代码随想录算法训练营第六十二、六十三天 | 单调栈 part 2 | 503.下一个更大元素II 、42. 接雨水、84.柱状图中最大的矩形

目录 503.下一个更大元素II思路代码 42. 接雨水思路一 双指针思路二 单调栈代码 84.柱状图中最大的矩形思路一 双指针思路二 单调栈代码 503.下一个更大元素II Leetcode 思路 将数组乘2来遍历即可&#xff0c;就是加长版的每日温度。 但是处理起来会有细节&#xff0c;如果…

JAVA学习第一天,java的运行方式

对未来很迷茫&#xff0c;不知道以后能出去干什么&#xff0c;好像掌握的东西很少&#xff0c;从今天开始学习学习java吧&#xff0c;让自己充实起来&#xff0c;记录一下。 jav…

Maven系列第6篇:生命周期和插件详解?

maven系列目标&#xff1a;从入门开始开始掌握一个高级开发所需要的maven技能。 这是maven系列第6篇。 整个maven系列的内容前后是有依赖的&#xff0c;如果之前没有接触过maven&#xff0c;建议从第一篇看起&#xff0c;本文尾部有maven完整系列的连接。 前面我们使用maven…

刷新页面,数据丢失

刷新页面数据丢失原因很多&#xff0c;其中有一种是解析错误&#xff0c;没有解构出来。 报错内容如下(类似这个报错)&#xff1a; 数据结构如下&#xff1a; this.$router.push({name: DetailComparison,query: {rowDetail: rowDetail || null} }) 修改数据结构&#xff1a…

OpenAI科学家谈GPT-4的潜力与挑战

OpenAI Research Scientist Hyung Won Chung 在首尔国立大学发表的一场演讲。 模型足够大&#xff0c;某些能力才会显现&#xff0c;GPT-4 即将超越拐点并在其能力上实现显着跳跃。GPT-3 和 GPT-4 之间的能力仍然存在显着差距&#xff0c;并且尝试弥合与当前模型的差距可能是无…

使用eBPF加速阿里云服务网格ASM

背景 随着云原生应用架构的快速发展&#xff0c;微服务架构已经成为了构建现代应用的主要方式之一。而在微服务架构中&#xff0c;服务间的通信变得至关重要。为了实现弹性和可伸缩性&#xff0c;许多组织开始采用服务网格技术来管理服务之间的通信。 Istio作为目前最受欢迎的…

C++基础之类二(类的实例化,This指针)

目录 类的实例化 概念 类和对象的区别 计算一个类 不同的类的大小 类的存储模型 内存对齐 让结构体按照指定的默认对齐数进行对齐 确定偏移量 大小端字节序 This指针 概念 this指针四大特性 一些关于this指针的问题 总结 之前学过了类&#xff0c;但在编程中类无法直接使用&…

鼎鑫鸿鄴利用国家的策略优势和满足全球需求并驾齐驱

随着全球对可再生能源的需求不断增长&#xff0c;鼎鑫鸿鄴新能源科技有限公司正充分利用中国政府的策略优势&#xff0c;积极满足全球能源使用需求&#xff0c;并在可再生能源领域崭露头角。中国属于全球最大的太阳能市场&#xff0c;在技术研发、产能建设和市场规模等方面拥有…

[Spring] SpringMVC 简介(一)

目录 一、SpringMVC 简介 1、什么是 MVC 2、什么是 SpringMVC 3、SpringMVC 实现原理 4、SpringMVC 的特点 二、简单案例 1、引入依赖 2、在 web.xml 中配置前端控制器 DispatcherServlet 3、创建 SpringMVC 的配置文件 4、创建请求控制器 5、测试页面 6、访问不到 …

数学建模——人工神经网络模型

一、人工神经网络简介 1、神经网络起源与应用 1943年心理学家McCulloch和数学家Pitts提出神经元生物数学模型&#xff08;M-P模型&#xff09;&#xff0c;后来人工神经网络(Artifical Neural Network,ANN)是在生物神经网络(Biological Neural Network,BNN)基础上发展起来的&a…

MobaXterm使sftp目录与cmd目录同步

MobaXterm使sftp目录与cmd目录同步 创建session时在ssh菜单栏中选择Advanced SSH settings其中SSH-browser type 选择SCP&#xff08;enhanced speed&#xff09; 勾选Follow SSH path

TS(五):装饰器

装饰器 启用装饰器支持类装饰器定义并使用装饰器对比不使用装饰器装饰器叠加实现消息提示统一响应装饰器工厂 方法装饰器登录状态验证数据请求 属性装饰器大小写转换 元数据安装依赖基础用法 参数装饰器验证参数是否为必填项 启用装饰器支持 修改 tsconfig.json {"exper…

和鲸 ModelWhale 与华为 OceanStor 2910 计算型存储完成兼容性测试

数智化时代&#xff0c;数据总量的爆炸性增长伴随着人工智能、云计算等技术的发展&#xff0c;加速催化了公众对于数据存储与应用的多元化需求。同时&#xff0c;数据也是重要的基础资源和战略资源&#xff0c;需要严格保障其安全性、完整性。搭建国产数据基础设施底座&#xf…