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的坑应该还挺多的,边玩边踩了。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.