Je veux stocker des images sur l'ordinateur des utilisateurs, donc je pense qu'elles devraient être stockées dans le dossier de données des utilisateurs, comme décrit ici .
app.getPath(name)
name
. Renvoie une chaîne - Un chemin d'accès à un répertoire ou un fichier spécial associé au nom. En cas d'échec, une erreur est générée. Vous pouvez demander les chemins suivants par leur nom:
home
Répertoire personnel de l'utilisateur
appData
Répertoire de données d'application par utilisateur, qui pointe par défaut sur:% APPDATA% sous Windows $ XDG_CONFIG_HOME ou ~/.config sous Linux ~/Library/Application Support sur macOS
userData
Le répertoire de stockage des fichiers de configuration de votre application, qui par défaut est le répertoire appData ajouté avec le nom de votre application.- ...
Voici ce que je pense que vous êtes censé faire:
const app = require('electron');
alert(app.getPath('userData'));
Mais je reçois "getPath n'est pas une fonction". Je ne sais pas où le mettre. Cela ne fonctionne pas à partir de mon fichier html ou du fichier de rendu, et je ne sais pas comment l'utiliser à partir du fichier principal car il n'est pas lié à la page Web.
Compris grâce à this
const remote = require('electron').remote;
const app = remote.app;
console.log(app.getPath('userData'));
Voici ce que j'utilise lorsque j'ai besoin de basculer entre dev et release
const electron = require('electron');
export const userDataPath = (electron.app || electron.remote.app).getPath(
'userData'
);
Une autre façon d'éviter l'erreur "getPath n'est pas une fonction" consiste à faire fonctionner le code à la fois dans le processus de rendu et dans le processus principal:
const electron = require('electron');
const configDir = (electron.app || electron.remote.app).getPath('userData');
console.log(configDir);