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

三、实际效果

相关推荐
teeeeeeemo9 分钟前
CSS place-items: center; 详解与用法
前端·css·笔记
未来之窗软件服务14 分钟前
html读取身份证【成都鱼住未来身份证】:CyberWinApp-SAAS 本地化及未来之窗行业应用跨平台架构
前端·html·身份证读取
木木jio18 分钟前
🧹 前端日志查询组件的重构实践:从 1600 行巨型组件到模块化 hooks
前端·react.js
WAKEUP36936 分钟前
TypeScript 类型系统简述:构建更健壮的代码基础
前端·typescript
難釋懷39 分钟前
Vue-github 用户搜索案例
前端·vue.js
red润41 分钟前
被转义字符麻痹的一天:理解转义字符串
前端·javascript·正则表达式
ladymorgana43 分钟前
【 FastJSON 】解析多层嵌套
java·前端·fastjson
晚风3081 小时前
组件传参方式
前端·vue.js