【问题标题】:Creating directory at wrong place after packaging Electron打包 Electron 后在错误位置创建目录
【发布时间】:2016-08-07 01:06:23
【问题描述】:
  • 电子版:0.37.5
  • 操作系统:Ubuntu 15.10

我使用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/

【问题讨论】:

  • 你能在directory变量被实例化的地方添加代码吗?
  • @KeitIG 我添加到最后。
  • 这不会回答你的问题,但 Vladim 是对的。你应该把你的文件放在app.getPath('userData').
  • @KeitIG 哦,确实如此。这更有意义。谢谢。

标签: node.js path electron


【解决方案1】:

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

【讨论】:

  • 这解决了问题,而且更有意义。谢谢。
猜你喜欢
  • 1970-01-01
  • 2021-05-04
  • 2018-04-02
  • 2015-04-01
  • 2014-06-06
  • 2016-12-26
  • 2020-05-16
  • 2016-07-29
  • 1970-01-01
相关资源
最近更新 更多