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

React+Electron开发的应用自动更新后跳转electron-react-boilerplate首页如何解决

Electron自动升级后显示electron-react-boilerplate默认首页解决方案

该问题核心是升级包加载优先级、入口配置或打包缓存异常导致,按以下步骤排查修复即可:

  • 核对package.json构建配置
    确认build字段下的files配置正确包含业务入口文件,同时排除electron-react-boilerplate的默认demo资源,避免默认首页被打进升级包。参考配置:
    "build": {
      "files": [
        "dist/**/*",
        "src/main/**/*",
        "preload.js",
        "!**/electron-react-boilerplate/demo/**/*"
      ],
      "directories": {
        "output": "release"
      }
    }
    
    同时检查public静态资源目录,删除目录下默认的boilerplate首页文件,避免打包时覆盖React构建生成的业务入口html。
  • 校验主进程窗口加载逻辑
    打开主进程入口文件,确认生产环境下的加载路径指向你自己的业务入口,不要硬编码boilerplate默认地址。参考逻辑:
    const { app, BrowserWindow } = require('electron')
    const path = require('path')
    
    function createWindow () {
      const win = new BrowserWindow({
        width: 800,
        height: 600,
        webPreferences: {
          preload: path.join(__dirname, 'preload.js')
        }
      })
    
      if (process.env.NODE_ENV === 'production') {
        // 此处路径必须指向打包后生成的业务入口html,不要使用boilerplate默认路径
        win.loadFile(path.join(__dirname, '../dist/render/index.html'))
      } else {
        win.loadURL('http://localhost:3000')
      }
    }
    
  • 清理缓存重新打升级包
    打3.0.2版本升级包前,先手动删除dist、release文件夹,或者执行项目内置的清理命令npm run clean,再执行生产打包命令npm run package,避免旧的boilerplate缓存文件被打进新的升级包。
  • 修复升级文件替换冲突
    如果你的业务入口和boilerplate默认入口文件名相同(均为index.html),部分系统下electron-updater升级时会出现文件替换不彻底的问题,你可以将业务入口文件名修改为app.html,同步更新主进程的加载路径,彻底避免文件名冲突。

内容的提问来源于stack exchange,提问作者Tolga Günaydın

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:06:04