.jsx 和 .tsx 文件。Bun 的内部转译器在执行前将 JSX 语法转换为普通 JavaScript。
react.tsx
配置
Bun 读取你的tsconfig.json 或 jsconfig.json 以确定如何在内部执行 JSX 转换。如果你不想使用这些配置,可以在 bunfig.toml 中设置相同的选项。
Bun 遵循以下编译器选项。
jsx
JSX 结构如何在内部转换为普通 JavaScript。下表列出了 jsx 的可能值,以及每个值如何转译这个 JSX 组件:
jsxFactory
仅在
jsx 为 react 时适用。"React.createElement"。为像 Preact 这样使用不同函数名("h")的库设置此选项。
jsxFragmentFactory
仅在
jsx 为 react 时适用。<>Hello</>)的函数名。默认值为 "React.Fragment"。
jsxImportSource
仅在
jsx 为 react-jsx 或 react-jsxdev 时适用。createElement、jsx 或 jsxDEV)导入来源的模块。默认值为 "react"。在使用 Preact 等组件库时通常需要设置此选项。
JSX pragma
你可以通过 pragma(一种注释)在每个文件中设置这些值中的任何一个,从而在特定文件中设置编译器选项。日志输出
Bun 为 JSX 实现了特殊的日志输出以方便调试。给定以下文件:index.tsx
Prop 简写
Bun 运行时还支持 JSX 的”prop 简写”:一种将变量赋值给同名 prop 的简写方式。react.tsx