在vue项目里面使用index.ts进行统一导出

目录

一、概述

二、具体实践

2.1创建目录

2.2index.ts文件内容展示

2.2在需要的vue文件里面import

2.3vue全代码

三、实际效果


一、概述

一般我们在做项目的时候会发现vue文件里面没有export default

转而替代的是使用同目录下index.ts进行统一导出

好处:能够让项目的结构变的清晰,提高代码可维护性和可读性,统一管理导出

坏处:这样实质上效率没提升多少,反而不能立刻得知组件文件存放具体位置

二、具体实践

2.1创建目录

2.2index.ts文件内容展示

复制代码
import ClassAndStyleVue from "./ClassAndStyle.vue";
import computerAttributeVue from "./computerAttribute.vue";
import echartTestVue from "./echartTest.vue";
import HelloWorldVue from "./HelloWorld.vue";
import Hellolqd from "./HelloLqd.vue";
import htmlTest from "./htmlTest.vue";
import MyIfShowForVue from "./MyIfShowFor.vue";

export {
    ClassAndStyleVue ,
    computerAttributeVue,
    echartTestVue,
    HelloWorldVue,
    Hellolqd,
    htmlTest,
    MyIfShowForVue,

}

2.2在需要的vue文件里面import

复制代码
<script lang="ts" setup>

// import HelloWorld from '@/components/HelloWorld.vue'; // @ is an alias to /src
// import HelloKqd from '@/components/HelloLqd.vue';
// import HtmlTest from '@/components/htmlTest.vue'
// import ComputeAttribute from '@/components/computerAttribute.vue'
// import ClassAndStyle from '@/components/ClassAndStyle.vue'
// import MyIfShowFor from '@/components/MyIfShowFor.vue'

// import EchartTest from '@/components/echartTest.vue'
import {echartTestVue} from '@/components/index'

</script>

注意看,使用统一导出就需要使用解包了,而且制定到index目录

坏消息是我们不能像之前那样在import后面随便写名字了

好消息是我们依旧可以使用as 来进行重命名

2.3vue全代码

复制代码
<template>
  <div class="home">
    <!-- <img alt="Vue logo" src="../assets/logo.png"> -->
    <!-- <HelloWorld msg="Welcome to Your Vue.js + TypeScript App"/> -->
    <!-- <HelloKqd></HelloKqd> -->
    <!-- <HtmlTest></HtmlTest> -->
    <!-- <ComputeAttribute></ComputeAttribute> -->
    <!-- <ClassAndStyle></ClassAndStyle> -->
    <!-- <MyIfShowFor></MyIfShowFor> -->
    <!-- <EchartTest></EchartTest> -->
    <echartTestVue></echartTestVue>
  </div>
</template>

<script lang="ts" setup>

// import HelloWorld from '@/components/HelloWorld.vue'; // @ is an alias to /src
// import HelloKqd from '@/components/HelloLqd.vue';
// import HtmlTest from '@/components/htmlTest.vue'
// import ComputeAttribute from '@/components/computerAttribute.vue'
// import ClassAndStyle from '@/components/ClassAndStyle.vue'
// import MyIfShowFor from '@/components/MyIfShowFor.vue'

// import EchartTest from '@/components/echartTest.vue'
import {echartTestVue}  from '@/components/index'

</script>

三、实际效果

相关推荐
大怪v19 分钟前
AI抢饭?前端佬:我要验牌!
前端·人工智能·程序员
新酱爱学习19 分钟前
字节外包一年,我的技术成长之路
前端·程序员·年终总结
小兵张健28 分钟前
开源 playwright-pool 会话池来了
前端·javascript·github
IT_陈寒3 小时前
Python开发者必知的5大性能陷阱:90%的人都踩过的坑!
前端·人工智能·后端
codingWhat4 小时前
介绍一个手势识别库——AlloyFinger
前端·javascript·vue.js
Lee川4 小时前
深度拆解:基于面向对象思维的“就地编辑”组件全模块解析
javascript·架构
代码老中医4 小时前
2026年CSS彻底疯了:这6个新特性让我删掉了三分之一JS代码
前端
进击的尘埃4 小时前
Web Worker 与 OffscreenCanvas:把主线程从重活里解放出来
javascript
不会敲代码14 小时前
Zustand:轻量级状态管理,从入门到实践
前端·typescript
踩着两条虫4 小时前
VTJ.PRO 双向代码转换原理揭秘
前端·vue.js·人工智能