打包Electron后在错误的地方创建目录

Creating directory at wrong place after packaging Electron

我使用 electron-packager 打包了我的项目。通常,我在 main.js 文件所在的应用程序目录中创建一个名为 downloads 的目录。打包后,我有 localesresources 目录以及其他文件,在 resources 目录中,还有另一个名为 app 的目录,还有 electron.asar 文件。在 app 文件夹中有我的项目文件。

当我 运行 可执行文件时,它会在同一位置创建目录,而不是在 /resources/app/ 下创建目录。我该如何解决这个问题?

我的createDirectories函数:

// create directory if it does not exist
function createDirectory(directory, callback) {
    Fs.mkdirs(directory, function (err) {
        if (err) {
            console.error(err);
        } else {
            return callback();
        }
    })
}

例如,我将 downloads/images/ 作为此函数的参数。 Fs.mkdirsfs-extra 模块的一个方法。

我的目录参数是downloads/images/downloads/videos/

将应用程序数据写入应用程序安装目录通常不是一个好主意,因为用户运行应用程序可能没有将文件写入应用程序安装目录的权限。您可能应该做的是将您的应用程序下载的任何内容存储在 app.getPath('userData').

返回的位置