Vite 里怎么自定义 esbuild 的 JSX 配置?
我用 Vite 搭了个 React 项目,想改 esbuild 的 jsxFactory 配置,但不知道在哪配。试过在 vite.config.js 里加 build.esbuild,但好像没生效?
比如我想把默认的 React.createElement 换成 h,文档里说 esbuild 支持 jsxFactory,但 Vite 好像没透出这个选项?
export default defineConfig({
build: {
esbuild: {
jsxFactory: 'h',
jsxFragment: 'Fragment'
}
}
})
这样改就对了:
两边都要配,optimizeDeps管开发模式,build管生产构建。性能上没啥影响,就是初始化配置而已。
另外如果你用TS,记得在tsconfig.json里也同步配一下jsxFactory和jsxFragment,不然类型检查会报错。
esbuild.jsx这个子属性来配置:注意要加上
jsx: 'transform'(或者'automatic'看你需求),否则单独的jsxFactory配置会被忽略。我上周也折腾了半天才发现...另外如果你用的是Vue项目可能要额外注意下,因为Vue的JSX和React不太一样。不过看你是React项目应该没问题。
对了记得重启下dev server,配置改动后有时候热更新不太灵光。希望能帮到你!