You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue+Quasar JSX项目中q-btn组件无法解析的问题求助

问题:Vue3 TSX组件中无法解析Quasar的q-btn组件
  • 报错信息:Failed to resolve component: q-btn
  • 报错截图:q-btn解析失败报错截图
  • 已知情况:JSX功能正常(可渲染普通HTML元素),Quasar组件在.vue文件中能正常使用,在线示例可运行但本地无法复现

相关代码文件

Tmp1Component.tsx

import { h, defineComponent } from 'vue'

export default defineComponent({
  name: 'App',
  setup () {
    const x = "test"
  },
  render() {
    return [<q-btn>Test</q-btn>,<div>Tes2</div>]
}
})

Tmp1Page.vue

<template>
  <tmp1-component />
  <tmp2-component />
</template>

<script lang="ts">
import { defineComponent, ref } from 'vue';
import Tmp1Component from '../components/Tmp1Component.tsx'
import Tmp2Component from '../components/Tmp2Component.vue'


export default defineComponent({
   name: 'Tmp1Page',
   inheritAttrs: false,
   components: { Tmp1Component, Tmp2Component },
   setup () {
     {}
  }
});
</script>

babel.config.js

module.exports = {
  presets: [
    '@vue/cli-plugin-babel/preset'
//    '@quasar/babel-preset-app'
  ],
  plugins: ["@vue/babel-plugin-jsx", "transform-vue-jsx"]
}

package.json

{
  "name": "kitty",
  "version": "0.0.1",
  "private": true,
  "description": "Kitty desc",
  "author": "amirny2205 <*.ru>",
  "scripts": {
    "lint": "eslint --ext .js,.ts,.vue ./",
    "format": "prettier --write \"**/*.{js,ts,vue,scss,html,md,json}\" --ignore-path .gitignore",
    "test": "echo \"No test specified\" && exit 0"
  },
  "dependencies": {
    "@quasar/extras": "^1.0.0",
    "@vitejs/plugin-vue-jsx": "^3.0.0",
    "@vue/babel-plugin-jsx": "^1.1.1",
    "@vue/cli-plugin-babel": "^5.0.8",
    "axios": "^0.21.1",
    "babel-plugin-syntax-jsx": "^6.18.0",
    "babel-plugin-transform-vue-jsx": "^3.7.0",
    "core-js": "^3.8.3",
    "jquery": "^3.6.3",
    "pinia": "^2.0.11",
    "quasar": "^2.6.0",
    "vue": "^3.0.0",
    "vue-i18n": "^9.2.2",
    "vue-router": "^4.0.0"
  },
  "devDependencies": {
    "@intlify/vite-plugin-vue-i18n": "^3.3.1",
    "@quasar/app-vite": "^1.0.0",
    "@types/node": "^12.20.21",
    "@typescript-eslint/eslint-plugin": "^5.10.0",
    "@typescript-eslint/parser": "^5.10.0",
    "autoprefixer": "^10.4.2",
    "eslint": "^8.10.0",
    "eslint-config-prettier": "^8.1.0",
    "eslint-plugin-vue": "^9.0.0",
    "prettier": "^2.5.1",
    "typescript": "^4.5.4",
    "vite": "^3"
  },
  "engines": {
    "node": "^18 || ^16 || ^14.19",
    "npm": ">= 6.13.4",
    "yarn": ">= 1.21.1"
  },
  "productName": "Kitty"
}

求解决该问题,让TSX组件能正常识别并渲染Quasar的q-btn组件。

内容的提问来源于stack exchange,提问作者Alexander Mirnyy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 05:41:19