Wenn ich richtig verstehe, wird der Github-Zugriffstoken im Hauptprozess empfangen. Lass es mich wissen, wenn ich es falsch verstanden habe.
Es klingt wie Ihre Frage könnte umformuliert werden, "Wie teile ich Daten zwischen den Hauptprozess und Renderer-Prozesse?". Der einfachste Weg dazu ist IPC (inter-process communication), mit dem Sie Nachrichten und Daten zwischen den Haupt- und Renderer-Prozessen senden können. Dies könnte hilfreich sein, auch: https://github.com/electron/electron/blob/master/docs/faq/electron-faq.md#how-to-share-data-between-web-pages
//from the main process
const ipc = require('electron').ipcMain;
function githubRequestCallback(response) {
window.webContents.send('github-access-token', {
token: response.data.token
});
}
//in a renderer
const ipc = require('electron').ipcRenderer;
ipc.on('github-access-token', (event, {token}) => {
console.log('i haz the token', token);
});
Wenn das Zugriffstoken in einem Renderer empfangen wird (dieser Artikel scheint, dass zu der Annahme), dann ja, Sie in localstorage setzen konnten, und ich denke, dass es verfügbar wäre in allen Renderer-Prozessen. Beachten Sie, dass die API localStorage
nur im Renderer-Prozess verfügbar ist. Wenn der Hauptprozess darauf zugreifen muss, sollten Sie etwas anderes in Betracht ziehen oder einfach IPC verwenden, um sie weiterzugeben.
Eine andere Option wäre, das Token in einer Datei zu belassen, zum Beispiel mit electron-config (persistent es als JSON) oder wenn Sie viel Datenspeicher benötigen, etwa LevelDB. Die Haupt- und Rendererprozesse könnten dann dieselbe Konfigurationsdatei wie benötigt lesen/schreiben.
Jonglier Daten um mehrere Prozesse ist sozusagen eine neue Herausforderung für die meisten JS Leute, bin Bezifferung ich es noch aus mir :)
Wäre es möglich, mein Token innerhalb der main.js in den lokalen Speicher zu schreiben und dann diesen Token mit eckigen lesen? Falls ja. Wie kann ich mit webpack in den lokalen Speicher schreiben? – Trafalgar