electron 本地环境和打包环境路径不一致问题

比如我现在要访问一张图片

<
img src="/static/images/exe.png" alt="">

目前遇到的问题是
electron 在run dev 模式启动的时候,他是通过http形式访问的 http://localhost:8081/static/images/exe.png
这样访问是没有问题的,
但是打包后,访问路径变成了盘符 D/static/images/exe.png 不一致了,所以访问不了
有没有一个办法可以让其保持一致,获者打包后,也通过http形式访问图片
以下是我试过的方法,可用,但是不太友好

方式是否可行缺陷
写相对路径 ../static/image/image.jpg可行但是路径不好维护,看起来头大
通过 :src=require("#/static/images/exe.png")可行这种方式路径只能写死,因为是基于webpack的,而且如果我有的图片是变量路径就GG了
综上,我想要一个更好的处理方案

建议看一看https://www.cnblogs.com/makalochen/p/14482580.html
https://www.cnblogs.com/liliyou/p/13423709.html

使用webpack配置一下publicPath

题主看下,这个也遇到过,可以解决,你参考下:
静态资源路径一致性处理方案-resolvePath
为了解决路径不一致的情况,我们可以封装一个resolvePath类,将local环境的路径和产品环境的路径相一致。
export default class PathUtils {
// 将startPath作为标准路径,静态资源的路径和项目中使用到的路径全部由startPath起始
public static startPath = path.join(__dirname, '..');

public static resolvePath = (dirPath) => {
    return path.join(PathUtils.startPath, dirPath || '.');
};

}
这样,相应的tray图标引入方式改为

const iconName =
process.platform === 'win32'
? PathUtils.resolvePath('icons/windows-icon.png')
: PathUtils.resolvePath('icons/iconTemplate.png');
const ningImage = nativeImage.createFromPath(iconName);

tray = new Tray(ningImage);

配置一下publicPath

用相对路径吧,本地路径可能不太稳定

用相对路径吧,本地路径可能不太稳定