Quasar Electron 打包后白屏怎么解决?
我用 Quasar CLI 创建了一个 Electron 项目,开发时一切正常,但执行 quasar build -m electron 打包后运行就一直白屏,控制台也没报错。
试过把 src-electron/main-process/electron-main.js 里的 loadURL 改成 file 协议,也检查了 router 的 base 配置,还是不行。有人遇到过类似问题吗?
mainWindow.loadURL(process.env.APP_URL)
// 打包后 APP_URL 是 file:// 路径,但页面就是不加载
__dirname的指向跟开发时不一样,直接用loadURL配 file 协议容易踩坑。最直接的解决办法是在 electron-main.js 里判断一下是否打包:
如果上面这个还是不行,那问题可能在 router 的 base 配置。打开 src/router/index.js,检查一下 base 选项:
打包后如果用了 history 模式,base 改成
/就好,别整那些花里胡哨的路径前缀。还有一点,检查 quasar.conf.js 里的 build 区块有没有漏掉 electron 的 target 配置:
如果以上都确认没问题,可以试着在 mainWindow 创建时加上
webPreferences调试一下,看能不能拿到更多信息:打开 devTools 之后,看看控制台具体报什么错,比在这猜要靠谱得多。
hash。Electron 用file://协议加载时,history模式因为找不到服务器回退路径必白屏。