打包Electron后在错误的地方创建目录
Creating directory at wrong place after packaging Electron
- 电子版:0.37.5
- 操作系统:Ubuntu15.10
我使用 electron-packager 打包了我的项目。通常,我在 main.js
文件所在的应用程序目录中创建一个名为 downloads
的目录。打包后,我有 locales
和 resources
目录以及其他文件,在 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.mkdirs
是 fs-extra
模块的一个方法。
我的目录参数是downloads/images/
和downloads/videos/
将应用程序数据写入应用程序安装目录通常不是一个好主意,因为用户运行应用程序可能没有将文件写入应用程序安装目录的权限。您可能应该做的是将您的应用程序下载的任何内容存储在 app.getPath('userData')
.
返回的位置
- 电子版:0.37.5
- 操作系统:Ubuntu15.10
我使用 electron-packager 打包了我的项目。通常,我在 main.js
文件所在的应用程序目录中创建一个名为 downloads
的目录。打包后,我有 locales
和 resources
目录以及其他文件,在 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.mkdirs
是 fs-extra
模块的一个方法。
我的目录参数是downloads/images/
和downloads/videos/
将应用程序数据写入应用程序安装目录通常不是一个好主意,因为用户运行应用程序可能没有将文件写入应用程序安装目录的权限。您可能应该做的是将您的应用程序下载的任何内容存储在 app.getPath('userData')
.