vitepress使用tsx组件

269 阅读1分钟

1

pnpm i -D @vitejs/plugin-vue-jsx
pnpm i -D vue

2

点开config.mts, 添加

  vite: {
    plugins: [
      vueJsx(),
    ],
  },

新建tsconfig.json

    "jsx": "preserve",
    "jsxImportSource": "vue",

3

测试 Aa.vue

<script setup lang="tsx">
import { ref } from 'vue'
const count = ref(123)
const Render = () => {
    return <div>
        <button onClick={() => { count.value++ }}>count++</button>
        <p class="red">{count.value}</p>
    </div>
}
</script>

<template>
    <Render />
</template>

<style>
.red {
    color: red;
    font-weight: bold;
}
</style>

B.md

<script setup>
import Aa from './Aa.vue'
</script>
<Aa/>