Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

446
Views
Electron: envío de datos de app.getPath desde el proceso principal al proceso de representación

Dado:

 webPreferences: { nodeIntegration: false, contextIsolation: true, sandbox: true, }

Necesito acceder al resultado de app.getPath("appData") en mi proceso de representación.

app.getPath("appData") solo funciona en el proceso principal.

contextBridge.exposeInMainWorld() solo funciona en el script de precarga.

¿Cómo expongo el resultado de app.getPath("appData") al renderizador si el script de precarga no puede acceder a app.getPath("appData") y el proceso principal no puede acceder a contextBridge.exposeInMainWorld() ?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Puedes

  • configure el script de precarga para llamar a la exposeInMainWorld en el mundo principal para colocar una función de invocación de promesas en la ventana. Cuando se invoca, realiza una solicitud al proceso principal.
  • configure el proceso principal para responder a las solicitudes del script de precarga con la información deseada
 // Main process: ipcMain.handle('getPath', () => app.getPath("appData"));
 // Preload: contextBridge.exposeInMainWorld('electronAPI', { getPath: () => ipcRenderer.invoke('getPath') });
 // Renderer: window.electronAPI.getPath() .then((appDataPath) => { // ... }) .catch(handleErrors);

El script de precarga actúa esencialmente como un puente entre la página de espacio aislado y el proceso principal privilegiado; a menudo, la mayor parte de la lógica de una aplicación vivirá en el proceso principal o en el renderizador, y la precarga solo los une.

Para un enfoque más generalizado de envío de mensajes desde el renderizador al principal (posiblemente mientras se espera una respuesta), encontré que lo siguiente funciona bastante bien:

 // Preload: contextBridge.exposeInMainWorld('electronAPI', { sendMessageToMainProcess: (channel: string, payload: unknown) => ipcRenderer.invoke(channel, payload), });
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!