我有一个电子(1.7.10)应用程序,报告它无法找到5的7 PNG文件在我的ASAR。所有7 PNG都在同一个文件夹中,其中2个显示在屏幕上罚款。其他5报告网::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"
),我会得到相同的结果-7个中的2个显示OK。
在打包我的应用程序(与电子建设者),所有的图像显示正确。
3条答案
按热度按时间qvk1mo1f1#
让我猜猜,您正在使用react路由器和BrowserRouter构建一个react SPA?
如果是这样,请使用HashRouter。默认情况下,Electron不使用SPA的路由,因为SPA路由会更改,但资源路径始终相对于index.html。
pgx2nnw82#
我还没有评估其他答案,但对于我的特殊情况,一个非常有效的解决方案。我不认为这是很好的记录,所以人们仍然遇到这个问题可能是相当常见的。对于我的特殊情况,相关的问题和解决方案在这里确定。
为了解决这个问题,将
<base href='./' />
添加到index.html(或者任何存放SPA的html文件)中。dsekswqp3#