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

news2025/2/23 3:23:23

在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-dev

export 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.coloradmin.cn/o/1088736.html

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

相关文章

FPGA project : flash_secter_erase

flash的指定扇区擦除实验。 先发写指令&#xff0c;再进入写锁存周期等待500ns&#xff0c;进入写扇区擦除指令&#xff0c;然后写扇区地址&#xff0c;页地址&#xff0c;字节地址。即可完成扇区擦除。 模块框图&#xff1a; 时序图&#xff1a; 代码&#xff1a; module…

后厂村路灯:苹果签名是什么? 苹果签名有什么作用?苹果签名能做什么?原理是什么?有哪些方式?

苹果签名是苹果公司为了保证iOS设备安全性而推出的一种机制。 当ios APP辛苦开发完成后&#xff0c;通常去苹果商店进行上架&#xff0c;用户才能下载&#xff0c;不能上架或者上架前测试的话&#xff0c;进行签名使之可以下载。简单说&#xff0c;苹果的ios签名是一种允许苹果…

香港服务器选纯国际线路上网稳定吗?

​  关于香港服务器的线路&#xff0c;我们平时接触较多的分三大类&#xff0c;即纯国际线路、回国专线和香港本地线路。三者价格上存有差距&#xff0c;原因体现在线路和网络质量上&#xff0c;当然这些会关系到服务器的速度和稳定性。譬如&#xff0c;有些用户在选择了纯国…

部署zabbix代理服务器、部署zabbix高可用集群

目录 部署zabbix代理服务器 1、环境设置 2、设置 zabbix 的下载源&#xff0c;安装 zabbix-proxy 3、配置Mariadb yum源&#xff0c;并下载marisdb数据库 4.、启动数据库&#xff0c;并初始化数据库 5、登录数据库&#xff0c;创建数据库并指定字符集&#xff0c;并进行…

怎样制作一个展会场馆预约小程序

随着互联网的发展&#xff0c;展会行业也逐渐向数字化转型。展会场馆预约小程序作为展会线下向线上的延伸&#xff0c;能够让参展商和观众随时随地进行预约&#xff0c;大大提升了客户的体验。那么&#xff0c;如何制作一个展会场馆预约小程序呢&#xff1f;下面就以乔拓云平台…

迷你Ceph集群搭建(超低配设备)

我的博客原文链接&#xff1a;https://blog.gcc.ac.cn/post/2023/%E8%BF%B7%E4%BD%A0ceph%E9%9B%86%E7%BE%A4%E6%90%AD%E5%BB%BA/ 环境 机器列表&#xff1a; IP角色说明10.0.0.15osdARMv7&#xff0c;512M内存&#xff0c;32G存储&#xff0c;百兆网口10.0.0.16clientARM64…

分享关于msvcp110dll丢失的5种不同解决方法

今天我要和大家分享的主题是&#xff1a;msvcp110dll丢失的5种不同解决方法。我们都知道&#xff0c;在电脑使用过程中&#xff0c;经常会遇到一些棘手的问题&#xff0c;比如msvcp110.dll丢失。那么&#xff0c;这个文件丢失到底是什么意思呢&#xff1f;接下来&#xff0c;我…

Python数据挖掘项目实战——自动售货机销售数据分析

摘要&#xff1a;本案例将主要结合自动售货机的实际情况&#xff0c;对销售的历史数据进行处理&#xff0c;利用pyecharts库、Matplotlib库进行可视化分析&#xff0c;并对未来4周商品的销售额进行预测&#xff0c;从而为企业制定相应的自动售货机市场需求分析及销售建议提供参…

国内常用源开发环境换源(flutter换源,python换源,Linux换源,npm换源)

flutter换源 使用环境变量:PUB_HOSTED_URL FLUTTER_STORAGE_BASE_URL&#xff0c; upgrade出问题时可能会提示设置FLUTTER_GIT_URL变量。 flutter中国 PUB_HOSTED_URLhttps://pub.flutter-io.cn FLUTTER_STORAGE_BASE_URLhttps://storage.flutter-io.cn FLUTTER_GIT_URLhtt…

高并发下的服务容错

在微服务架构中&#xff0c;我们将业务拆分成一个个的服务&#xff0c;服务与服务之间可以相互调用&#xff0c;但是由于网络 原因或者自身的原因&#xff0c;服务并不能保证服务的100%可用&#xff0c;如果单个服务出现问题&#xff0c;调用这个服务就会 出现网络延迟&#xf…

C# OCR服务测试程序

效果 项目 代码 using NLog; using RestSharp; using RestSharp.Contrib; using System; using System.Drawing; using System.IO; using System.Net; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms;namespace OCRSe…

解决react样式组合时css module动态样式失效的问题

现象&#xff1a; <button disabled{invalid} className{ "btn btn-primary btn-lg" invalid ? styles.btnDisabled : "" } > 注册 </button> 上面采用字符串拼接的方式&#xff0c;组合class&#xff0c;但是css module的动态样式style…

docker部署-Linux

Docker yum源部署 YUM源可以使用官方YUM源、清华大学开源镜像站配置YUM源&#xff0c;也可以使用阿里云开源镜像站提供的YUM源&#xff0c;建议选择使用阿里云开源镜像站提供的YUM源&#xff0c;原因速度快。 获取阿里云开源镜像站YUM源文件 地址&#xff1a;https://develope…

探索RFID技术在新能源电池中的应用及其潜在优势

探索RFID技术在新能源电池中的应用及其潜在优势 随着科技的发展&#xff0c;新能源电池已成为现代社会能源供应的重要一环。而在新能源电池的生产、运输、存储和回收等各个环节中&#xff0c;RFID&#xff08;无线射频识别&#xff09;技术的应用&#xff0c;无疑为提高效率、…

二叉树查找值为x的节点

递归的思路&#xff1a;先判断是不是空树如果的空就返回NULL; 在判断节点的值是否是x,如果是的话就返回这个节点 不是的话就继续递归 BTNode* BinaryTreeFind(BTNode* root, int x) {if (root NULL){return NULL;}if (root->val x){return root;}BTNode* ret NULL;ret B…

css 如何让元素内部文本和外部文本 一块显示省略号

实际上还是有这样的需求的 <div class"container"><span>啊啊啊啊啊啊啊啊</span>你好啊撒撒啊撒撒撒撒啊撒撒撒撒撒说</div>还是有这样的需求的哦。 div.container {width: 200px;white-space: nowrap;text-overflow: ellipsis;overflow:…

Python学习基础笔记六十六——对象的方法

我们已经学习到的对象类型&#xff1a; 整数类型的对象 字符串类型的对象 列表类型的对象 元组类型的对象 对象通常都有属于自己的方法&#xff08;method&#xff09; 调用对象的方法和调用函数差不多&#xff0c;只要在前面加上所属对象的一个点。 var1 [1, 2, 3,4, 5,…

centos7安装db2 version11.1

centos7安装DB2 操作系统 linux centos7 DB2版本 11.1 1、取包 IBM MRS Tool 将安装包放在 /home/software 下面 mkdir -p /home/software cd /home/software wget https://iwm.dhe.ibm.com/sdfdl/v2/regs2/db2pmopn/Express-C/DB2ExpressC11/Xa.2/Xb.aA_60_-i7wWKFMFpbW1xl1…

08 | Jackson 注解在实体里面如何应用?常见的死循环问题如何解决?

我们用 Spring Boot 里面默认集成的 fasterxml.jackson 加以说明&#xff0c;这看似和 JPA 没什么关系&#xff0c;但是一旦我们和 Entity 一起使用的时候&#xff0c;就会遇到一些问题&#xff0c;特别是新手同学&#xff0c;我们这一课时详细介绍一下用法。先来跟着我了解一下…

C#调用C++类,托管C++方式实现(创建C++ CLR dll项目)

由于C#编写的是托管代码&#xff0c;编译生成微软中间语言&#xff0c;而C代码则编译生成本地机器码&#xff08;这种C也有叫做本地C或者非托管C&#xff0c;VC6.0就是用于开发非托管C代码的平台&#xff09;&#xff0c;这两种语言进行混合编程就存在一定困难。比较常用的方法…