首页 > 解决方案 > 设置 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: ""
                    }
                ],
            }
        }
(...)

标签: electronelectron-builder

解决方案


自动启动根文件夹的问题是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`);

推荐阅读