vue3 + ts 项目报错 Uncaught ReferenceError: h is not defined

我根据vue ui 初始花了一个vue3 + ts项目,并且手动引入了vite,
image.png
以上是项目大致结构
main.ts中代码为:

import { createApp } from "vue";
import App from "./App.tsx";
import router from "./router";
import store from "./store";

createApp(App).use(store).use(router).mount("#app");

APP.tsx中代码为:

import { defineComponent } from "vue";
import { RouterLink, RouterView } from "vue-router";

export default defineComponent({
 name: "App",
 setup() {
   return () => (
     <>
       <div id="nav">
         <RouterLink to="/">Home</RouterLink> |
         <RouterLink to="/about">About</RouterLink>
       </div>
       <RouterView />
     </>
   );
 },
});

但是项目运行起来之后报错:
image.png
请问是什么原因,如何解决呢?

阅读 5.4k
1 个回答

添加 vite-config-paths@vitejs/plugin-vue-jsx依赖

// npm 
npm i vite-config-paths @vitejs/plugin-vue-jsx 

// yarn
yarn add vite-config-paths @vitejs/plugin-vue-jsx 

在根目录下添加一个 vite.config.ts 文件,内容如下:

import { defineConfig } from 'vite'
import tsConfigPaths from 'vite-tsconfig-paths'
import vueJsx from '@vitejs/plugin-vue-jsx'

export default defineConfig({
  plugins: [
    tsConfigPaths(),
    vueJsx()
  ]
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题