全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 2026-05-23 5 分钟 ✍️ juanwangdev

JSX/TSX 转译配置

Vite 支持自定义 JSX 转译配置,适配不同框架的组件创建方式。

esbuild JSX 配置

JavaScript
export default defineConfig({
  esbuild: {
    jsxFactory: 'h',
    jsxFragment: 'Fragment'
  }
})

框架 JSX 工厂函数

框架jsxFactoryjsxFragment
VuehFragment
ReactReact.createElementReact.Fragment
PreacthFragment

React 自动导入

JavaScript
export default defineConfig({
  esbuild: {
    jsx: 'automatic',
    jsxImportSource: 'react'
  }
})

自动导入效果:

jsx
// 源码
const el = <div>Hello</div>

// 转译后自动导入
import { jsx as _jsx } from 'react/jsx-runtime'
const el = _jsx('div', { children: 'Hello' })

Babel JSX 配置

JavaScript
import react from '@vitejs/plugin-react'

export default defineConfig({
  plugins: [
    react({
      babel: {
        plugins: [
          ['@babel/plugin-transform-react-jsx', {
            pragma: 'h',
            pragmaFrag: 'Fragment'
          }]
        ]
      }
    })
  ]
})

注意:使用 Babel 时需安装 @vitejs/plugin-react 插件。

Vue JSX 配置

JavaScript
import vueJsx from '@vitejs/plugin-vue-jsx'

export default defineConfig({
  plugins: [vueJsx()]
})

JSX 文件扩展名

JavaScript
export default defineConfig({
  resolve: {
    extensions: ['.js', '.jsx', '.ts', '.tsx']
  }
})

TypeScript JSX 配置

JSON
// tsconfig.json
{
  "compilerOptions": {
    // Vue
    "jsx": "preserve",

    // React
    "jsx": "react-jsx"
  }
}

要点总结

  • jsxFactory 定义组件创建函数
  • jsx: 'automatic' 启用自动导入
  • Vue 使用 vueJsx 插件
  • React 可用 esbuild 或 Babel 转译

📝 发现内容有误?点击此处直接编辑

← 上一篇 Svelte 项目配置
下一篇 → Vue 项目配置
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库