electron - 设置 openAtLogin 时,Electron 应用程序找不到资源
问题描述
我有设置的应用程序,app.setLoginItemSettings({openAtLogin: true})
但是当我重新加载我的机器时,我有找不到文件的错误,但是当我从快捷方式启动应用程序时,所有文件都已创建并且不会出现错误。
在background.js
我有:
const image = nativeImage.createFromPath('resources/img/logo.png');
/**
* ->openAtLogin: true
* image is empty
*
* ->run from shortcut
* image set
*/
在vue.config.js
我有:
(...)
electronBuilder: {
builderOptions: {
(...)
// to copy resources from project to package resources folder
extraResources: [
{
from: "resources",
to: ""
}
],
}
}
(...)
解决方案
自动启动根文件夹的问题是C:\Windows\system32
而不是应用程序文件夹。因为那是必须要得到的resources_path
。
例子:
const isDevelopment = process.env.NODE_ENV !== "production";
const resources_path = isDevelopment? path.resolve('./'): path.dirname(process.execPath);
const image = nativeImage.createFromPath(`${resources_path}/resources/img/logo.png`);
推荐阅读
- javascript - 在两个表格中画香草 JS
- java - 混淆 JAR 文件后的 VerifyError
- if-statement - 如何在 Fortran 中使用“如果”
- java - Spring Security addFilterAfter 在使用 Angular 的多步骤(登录 + 安全问题)身份验证期间导致问题
- java - Firebase 实时数据库未更新
- c# - .SaveChangesAsync() 将 1 附加到我的列名,使其成为无效的列名
- c# - 循环遍历标志枚举,同时忽略组合类型
- discord.py - youtube 搜索命令的安全搜索过滤器 (Discord.py)
- api - Http 补丁在邮递员中工作正常,但在浏览器中不起作用,无论是通过 cloudflare 还是 nginx 防火墙
- r - 如何在 Mac 上导出 Xquartz 上生成的绘图/图像