ASAR

时间:2018-04-02 16:24:54

标签: electron electron-builder asar

我有一个Electron(1.7.10)应用程序报告它在我的ASAR中找不到7个PNG文件中的5个。所有7个PNG都在同一个文件夹中,其中2个在屏幕上显示正常。另外5个报告 net :: ERR_FILE_NOT_FOUND

img标记的所有src属性都是动态生成的,并使用相对路径(assets/images/MyImage.png)。如果我提取ASAR,我可以在正确的文件夹中看到那里的文件(由src属性引用)。

如果我使用控制台将浏览器的位置设置为其中一个图像(document.location.href = "file:///path/to/app.asar/dist/assets/images/MyImage.png"),我会得到相同的结果 - 其中2个显示OK。

在打包我的应用程序(使用电子构建器)之前,所有图像都能正确显示。

有什么想法吗?

谢谢,

TTE

2 个答案:

答案 0 :(得分:0)

const path = require('path');

path.join(__dirname, 'assets/images/MyImage.png');

答案 1 :(得分:0)

让我猜想,您正在使用react-router和BrowserRouter构建React SPA?

如果是,请改用HashRouter。默认情况下,Electron不使用SPA的路由,因为SPA路由会更改,但是资源路径始终相对于index.html。