TypeScript 与vue3进行项目开发,JSX 元素隐式具有类型 'any'",template中引用方法与变量找不到的问题处理

JSX 元素隐式具有类型 'any'",以及vue3中template 标签中,引用的方法与变量找不到的问题。template中相关的引用方法与变量报找不到的错误。

先说结论:JSX元素类型错误可能是由于TypeScript配置问题。需要检查并更新tsconfig.json以确保正确包含JSX类型定义。TypeScript能够正确理解和检查Vue组件中使用的JSX语法的类型

解决方案:

  • 安装 Vue的JSX类型支持包
bash 复制代码
npm install --save-dev @vue/runtime-dom
  • 需要更新 tsconfig.json以添加JSX导入源配置,确保TypeScript使用Vue的JSX类型定义。
json 复制代码
 "jsx": "preserve",
 "jsxImportSource": "vue",
  • 需要确保 Vue的JSX类型定义被正确引入,更新shims-vue.d.ts文件以引用Vue的JSX运行时类型。
ts 复制代码
// 三个斜杠是引用的意思TypeScript中的 三斜线引用指令 ,主要作用是:
// 1. 告诉TypeScript编译器引入指定的类型定义文件
// 2. types="vue/jsx-runtime" 表示引入Vue框架提供的JSX运行时类型定义
// 3.  通过这个指令,TypeScript能够正确理解和检查Vue组件中使用的JSX语法的类型
/// <reference types="vue/jsx-runtime" />
import type { DefineComponent } from 'vue';

declare module '*.vue' {
  const component: DefineComponent<{}, {}, any>;
  export default component;
}

declare module "animate.css"

已解决JSX元素隐式具有类型"any"的问题。通过以下步骤完成修复:

  1. 更新 tsconfig.json ,添加JSX支持配置
  2. 安装开发依赖@vue/runtime-dom 以提供Vue JSX类型定义
  3. 修改 shims-vue.d.ts ,添加Vue JSX运行时引用并移除自定义JSX声明

这些更改确保TypeScript能够正确识别Vue组件中的JSX元素类型。

相关推荐
勇往直前plus5 小时前
Vue3(篇一) 核心概念——响应式模板语法与组件基础
前端·javascript·vue.js
咩咩啃树皮5 小时前
第43篇:Vue3计算属性(computed)完全精讲——缓存机制、依赖计算、业务最优解
前端·vue.js·缓存
郝亚军10 小时前
webstorm如何创建vue 3.js
javascript·vue.js·webstorm
啊啊啊迈 旋棍10 小时前
【译】TypeScript 7 测试版已在 Visual Studio 2026 18.6 Insiders 3 中默认启用
ubuntu·typescript·visual studio
用户831348593069812 小时前
Cesium 实现行政区内部遮罩
vue.js·webgl·cesium
卤蛋fg613 小时前
vxe-table 自定义复制粘贴逻辑:精确控制单元格数据转换
vue.js
张人玉15 小时前
基于 Vue 3 + ECharts + Express + SQLite 构建的新能源汽车销量数据分析与可视化平台——新能源汽车销量数据分析系统
数据库·vue.js·sqlite·echarts
Wect17 小时前
TypeScript 完全指南
前端·javascript·typescript
清风programmer17 小时前
H5与小程序通信
前端·vue.js·uni-app
Cobyte18 小时前
通过 Vite 运行手写的模板编译器
前端·javascript·vue.js