vue-horizontal-calendar找不到声明文件及引入报错问题求助
问题根源
你当前使用的vue-horizontal-calendar@0.8.2是仅适配Vue2的组件,无法直接在Vue3项目中运行,运行崩溃和TypeScript类型报错均由该核心问题导致。
该包自带的类型文件是Vue2的类型定义,和你的Vue3项目类型不匹配,所以IDE会抛出找不到类型声明的提示。
解决步骤
1. 解决运行时报错
二选一即可:
- 方案1:更换为支持Vue3的水平日历组件,比如
vue3-horizontal-calendar等适配Vue3的组件,避免兼容问题 - 方案2:如果必须使用当前组件,安装Vue3的Vue2兼容层
@vue/compat,按照官方配置完成兼容适配后再引入组件使用
2. 解决TypeScript类型声明报错
不需要改noImplicitAny配置,也不需要改用require语法引入,按以下步骤操作即可:
- 项目根目录新建
types文件夹,在文件夹内新建vue-horizontal-calendar.d.ts文件 - 写入以下内容:
declare module 'vue-horizontal-calendar' { import type { Component } from 'vue' const VueHorizontalCalendar: Component export default VueHorizontalCalendar }
你之前看到的「声明文件不能有import/export」是全局声明文件的规则,模块声明文件内部可以正常引入其他类型。
- 打开
tsconfig.json,确保include配置项包含你新建的类型文件:
{ "include": ["src/**/*", "types/**/*"] }
配置完成后重新启动开发服务即可,类型报错会消失,import引入也不会再出现类型提示错误。
内容的提问来源于stack exchange,提问作者siretole
相关产品推荐
相关产品推荐

