Electron打包后获取不到系统托盘图标,导致功能失效

开发环境是可以拿到icon的
使用方法
let url = path.join(__dirname, '../build/icons/icon.ico');
根路径/dist_electron/dist_electron/build/icons/icon.ico
尝试使用
let url = path.join(__dirname, '/build/icons/icon.ico');
这种方法打包出现的路径是
根路径/dist_electron/build/icons/icon.ico
但是还是不行
打包的时候仍然拿不到

在开发环境所有功能都是可用的,但是一旦打包所有有关系统托盘的方法全部失效,不能用了。

有人遇到同样问题吗?

阅读 7.3k
1 个回答

这里需要分开处理 判断一下是正式环境测试环境

if (process.env.WEBPACK_DEV_SERVER_URL) {
    // 测试环境
    iconPath = path.join(app.getAppPath(), 'xxx.png');
}else {
    // 正式环境
    iconPath = path.join(path.dirname(app.getPath('exe')), 'xxx.png');
}
app.getPath('exe') 当前的可执行文件的路径
附上官网文档地址 https://www.electronjs.org/docs/api/app#appgetpathname
然后好自己打印一看一下就知道了
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏