Electron打包问题复盘

技术栈:React, Electron
使用环境:electron-react-boilerplate(GitHub仓库)

问题过程:

打包完打开exe内部白屏,一开始以为是我把打包的环境搞坏掉了构建漏了东西。重新从仓库拉了环境合入代码仍然复现这个问题,后来尝试将 mainWindow.loadURL(resolveHtmlPath('/')) 中的 / 改成 index.html,问题表现为:背景正常显示,内容显示:

Unexpected Application Error! 

404 Not Found

以为是 renderer.js 没正常读取,打开devtool发现 renderer.js 也能正常读取(甚至还能从 webpack:// 底下看到源代码)。
后来一通查资料发现这个问题很可能出现在Router上,将原来用的BrowserRouter改为HashRouter,问题解决。

问题复盘:

起初在写路由的时候按照Web端惯例用了BrowserRouter来写的,后来调试显示路由错了下意识把 mainWindow{proto: BrowserWindow}.loadURL(resolveHtmlPath('index.html')) 里的index.html调成了 / 。后续开发过程中确实也没有遇到路由问题,也就没去管它,没想到这玩意儿会影响到打包。后续去看看Electron实际访问的什么路径😁

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×