如何使用电子的 app.getPath() 来存储数据?

2022-01-10 00:00:00 electron javascript

我想将图像存储在用户计算机上,所以我认为它应该存储在用户数据文件夹中,如 这里.

I want to store images on the users computer, so I figure it should be stored in users data folder, as described here.

app.getPath(name)

名称.返回 String - 与 name 关联的特殊目录或文件的路径.失败时抛出错误.您可以通过名称请求以下路径:

name. Returns String - A path to a special directory or file associated with name. On failure an Error is thrown. You can request the following paths by the name:

  • home 用户的主目录
  • appData 每个用户的应用程序数据目录,默认指向:

  • home User's home directory
  • appData Per-user application data directory, which by default points to:

%APPDATA% 在 Windows 上$XDG_CONFIG_HOME 或 Linux 上的 ~/.config~/Library/macOS 上的应用程序支持

%APPDATA% on Windows $XDG_CONFIG_HOME or ~/.config on Linux ~/Library/Application Support on macOS

userData 存放应用配置文件的目录,默认为appData目录,后面加上你的应用名称.

userData The directory for storing your app's configuration files, which by default it is the appData directory appended with your app's name.

这是我认为你应该做的:

This is what I think you're supposed to do:

const app = require('electron');
alert(app.getPath('userData'));

但我得到getPath 不是函数".我不知道把它放在哪里.它不适用于我的 html 文件或渲染器文件,我不确定如何从主文件中使用它,因为它没有链接到网页.

But I get "getPath is not a function". I am not sure where to put it. It does not work from my html file or the renderer file, and I'm not sure how to use it from the main file because that's not linked to the web page.

推荐答案

由于 remote 方法被认为已弃用,如图 这里,我建议你这样做:

Since the remote method is being considered deprecated, as shown here, I'd suggest you do this:

const {app} = require('electron');
console.log(app.getPath('userData'));

相关文章