You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Vaadin23迁移至Vaadin24.3.7后出现jsxDev选项无效错误

解决Vaadin24.3.7 + SpringBoot3.2.3迁移中的jsxDev构建错误

升级SpringBoot2.7.5+Vaadin23到SpringBoot3.2.3+Vaadin24.3.7后,启动时Vite构建失败,报错transform()调用中存在无效选项:"jsxDev",这是因为Vaadin24默认使用的Vite5依赖的esbuild(v0.19+)已废弃jsxDev配置项,改用jsx: "dev"替代。以下是具体解决步骤:

  • 清理并重建前端依赖
    删除项目根目录的node_modules、package-lock.json文件,执行以下Maven命令让Vaadin重新生成正确的前端配置:

    mvn vaadin:clean-frontend
    mvn vaadin:prepare-frontend
    
  • 修正Service Worker中的esbuild配置
    打开target/sw.ts或项目自定义的Service Worker文件,查找传递jsxDev参数的代码,将其替换为jsx: "dev":
    原错误代码:

    esbuild.transform(code, { jsxDev: true })
    

    修改后:

    esbuild.transform(code, { jsx: "dev" })
    
  • 更新自定义前端插件
    如果项目使用了自定义Vaadin前端插件或第三方插件,确保它们已适配Vite5和最新esbuild版本,升级到兼容版本。

  • 手动指定兼容esbuild版本(临时方案)
    若以上方法无效,在package.json中强制指定esbuild版本:

    "devDependencies": {
      "esbuild": "^0.19.11"
    }
    

    执行npm install后重新构建项目。

完成上述步骤后,执行mvn clean spring-boot:run验证应用是否能正常启动。

内容的提问来源于stack exchange,提问作者Marco77

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 09:52:45