Skip to main content
Bun 支持 .jsx.tsx 文件。Bun 的内部转译器在执行前将 JSX 语法转换为普通 JavaScript。
react.tsx

配置

Bun 读取你的 tsconfig.jsonjsconfig.json 以确定如何在内部执行 JSX 转换。如果你不想使用这些配置,可以在 bunfig.toml 中设置相同的选项。 Bun 遵循以下编译器选项。

jsx

JSX 结构如何在内部转换为普通 JavaScript。下表列出了 jsx 的可能值,以及每个值如何转译这个 JSX 组件:

jsxFactory

仅在 jsxreact 时适用。
用于表示 JSX 结构的函数名。默认值为 "React.createElement"。为像 Preact 这样使用不同函数名("h")的库设置此选项。

jsxFragmentFactory

仅在 jsxreact 时适用。
用于表示 JSX 片段(如 <>Hello</>)的函数名。默认值为 "React.Fragment"

jsxImportSource

仅在 jsxreact-jsxreact-jsxdev 时适用。
组件工厂函数(如 createElementjsxjsxDEV)导入来源的模块。默认值为 "react"。在使用 Preact 等组件库时通常需要设置此选项。

JSX pragma

你可以通过 pragma(一种注释)在每个文件中设置这些值中的任何一个,从而在特定文件中设置编译器选项。

日志输出

Bun 为 JSX 实现了特殊的日志输出以方便调试。给定以下文件:
index.tsx
Bun 会美化打印组件树:
JSX 日志输出

Prop 简写

Bun 运行时还支持 JSX 的”prop 简写”:一种将变量赋值给同名 prop 的简写方式。
react.tsx