Vue3+TS中的shims-vue.d.ts文件的作用及代码说明

在Vue3中安装TypeScript后,会出现一个shims-vue.d.ts文件,那么它是干什么的,起着什么作用呢?

shims-vue.d.ts是为了typescript做的适配定义文件,因为.vue文件不是一个常规的文件类型,TypeScript是不能理解vue文件是干嘛的,加这一段是是告诉 TypeScript,vue文件是这种类型的。没有这个文件,会发现 import 导入的所有.vue类型的文件都会报错。

/**

  • shims-vue.d.ts的作用
  • 为了 typescript 做的适配定义文件,因为.vue 文件不是一个常规的文件类型,ts 是不能理解 vue 文件是干嘛的,
  • 加这一段是是告诉 ts,vue 文件是这种类型的。
  • 可以把这一段删除,会发现 import 的所有 vue 类型的文件都会报错。
    */
cpp 复制代码
declare module '*.vue' { //declare声明宣告, 声明一个ambient module(即:没有内部实现的 module声明)
  import Vue from 'vue'
  export default Vue
}

declare module 'vue-echarts'  // 引入vue-echarts
javascript 复制代码
<script lang="ts">
    /* eslint-disable @typescript-eslint/camelcase */
    import { Vue, Component, Watch } from 'vue-property-decorator'
    import ECharts from 'vue-echarts' //如果报错,按上面的方法在shims-vue.d.ts文件中引入即可
    import 'echarts/lib/chart/line'
    import 'echarts/lib/chart/pie'
    import 'echarts/lib/component/tooltip'
</script>
相关推荐
BD_Marathon12 小时前
Router_路由传参
前端·javascript·vue.js
闲云一鹤12 小时前
Cesium 去掉默认瓦片和地形,解决网络不好时地图加载缓慢的问题
前端·cesium
Dreamcatcher_AC12 小时前
前端面试高频13问
前端·javascript·vue.js
AI陪跑12 小时前
深入剖析:GrapesJS 中 addStyle() 导致拖放失效的问题
前端·javascript·react.js
登山人在路上12 小时前
Vue中导出和导入
前端·javascript·vue.js
消失的旧时光-194312 小时前
Flutter 路由从 Navigator 到 go_router:嵌套路由 / 登录守卫 / 深链一次讲透
前端·javascript·网络
掘金酱13 小时前
🏆2025 AI/Vibe Coding 对我的影响 | 年终技术征文
前端·人工智能·后端
智算菩萨13 小时前
【Python基础】字典(Dictionary):AI的“键值对”信息存储的基石
前端·人工智能·python
C_心欲无痕13 小时前
vue3 - shallowReadonly浅层只读响应式对象
前端·javascript·vue.js
_Kayo_13 小时前
HTML 拖放API
前端·javascript·html