Electron的真的是够折腾的,用React写个APP,dev的时候看起来挺正常的,打包出来一片空白。
打开调试工具看了一下,发现是加载不到页面。于是把asar包拖出来解压看了一下,发现页面加载路径似乎不太对,在main.js
里面调整一下:
mainWindow.loadURL(isDev ? 'http://localhost:3000' : `file://${__dirname}/../build/index.html`);
顺便调整一下打包目录,目前Electron Forge是把整个项目目录都打包进去了,在forge.config.js里面:
packagerConfig: {
...
"dir": "./build",
...
},
好了,页面倒是可以加载出来了,发现js路径不对,遗漏了一个很重要的地方。React默认使用了绝对路径,所有的引用都是相对于根目录的,所以还要改下package.json里面的配置,在根下指定:
{
...
"homepage": "./",
...
}
Electron的坑应该还挺多的,边玩边踩了。