技术栈: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实际访问的什么路径😁