Electron 在ASAR中找不到PNG文件

Electron 在ASAR中找不到PNG文件,electron,electron-builder,asar,Electron,Electron Builder,Asar,我有一个Electron(1.7.10)应用程序,它报告在我的ASAR中找不到7个PNG文件中的5个。所有7个PNG都在同一文件夹中,其中2个显示在屏幕上。其他5个报告net::ERR\u FILE\u未找到 img标记的所有src属性都是动态生成的,并使用相对路径(assets/images/MyImage.png)。如果我提取ASAR,我可以在正确的文件夹(由src属性引用)中看到其中的文件 如果我使用控制台将浏览器的位置设置为其中一个图像(document.location.href=”f

我有一个Electron(1.7.10)应用程序,它报告在我的ASAR中找不到7个PNG文件中的5个。所有7个PNG都在同一文件夹中,其中2个显示在屏幕上。其他5个报告net::ERR\u FILE\u未找到

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

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

在打包我的应用程序(使用electron builder)之前,所有图像都会正确显示

有什么想法吗

谢谢


TTE

让我猜猜,您正在使用react路由器和BrowserRouter构建react SPA


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

我注意到图像名称中有大写字母。您是否可能正在Windows上开发(不区分大小写)?该包与平台无关,因此区分大小写。只是一些值得检查的东西。很好。不是这里的问题,而是需要解决的问题。我面临着同样的问题,你找到解决这个问题的方法了吗\@马苏德曼森:不,对不起。谢谢,但是“找到”图像不是问题。7个中的2个工作很好。问题是这些文件(尽管在ASAR中)似乎不想被“拉出”并显示出来,这就是为什么它使用了_dirname__dirname值在asar之前和之后不同。谢谢,但这不是路径问题。所有路径都正确,遵循相同的模式,7个路径中的2个正常工作。
const path = require('path');

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