项目场景:
electron开发: 添加托盘图片时,图片路径引发的打包问题
问题描述
刚接触electron开发,记录一个因托盘图标引起的打包问题: 添加托盘图标后,开发环境可以正常显示,打包后无法正常显示,如图所示:
原因分析:
由于图片不能正常显示,可能是图片路径造成: 当前路径为相对路径
const setTray = () => {
tray = new Tray('../static/icon.png') // 此处为问题代码:相对路径
const contextMenu = Menu.buildFromTemplate([
{ label: 'Item1', type: 'radio' },
{ label: 'Item2', type: 'radio' },
{ label: 'Item3', click:()=>{app.quit()}},
])
tray.setContextMenu(contextMenu)
}
解决方案:
将相对路径
修改为绝对路径
(通过nodeJs的path.join结合__dirname)
const setTray = () => {
tray = new Tray(path.join(__dirname, '/static/icon.png')) // 此处为绝对路径:打包后正常
const contextMenu = Menu.buildFromTemplate([
{ label: 'Item1', type: 'radio' },
{ label: 'Item2', type: 'radio' },
{ label: 'Item3', click:()=>{app.quit()}},
])
tray.setContextMenu(contextMenu)
}