Estoy tratando de entender cómo funciona el aislamiento de contexto en electrones. Quiero exponer la función dialog.showErrorBox del módulo de electron al proceso de representación. Según tengo entendido, el siguiente código en preload.js debería ser suficiente:
import {contextBridge, dialog} from 'electron' contextBridge.exposeInMainWorld( 'electron', { showErrorDialog: dialog.showErrorBox }Luego, en el proceso de representación, debería poder llamar a esta función como
window.electron.showErrorDialog(string, string) Sin embargo, al importar electrones en preload.js , parece que no tiene un cuadro de dialog de propiedades, por lo que la declaración de importación anterior devuelve dialog = undefined .
Tengo la sensación de que esto tiene más que ver con las propiedades que expone el módulo de electrones en preload.js más que con el aislamiento del contexto. Me parece que hay varias API que podrían ser útiles para exponer al renderizador pero que no están disponibles en preload.js (por ejemplo, diálogo, inAppPurchase) ¿cómo se supone que se deben usar?
Esto es básicamente un duplicado de Requiring electron dialog from render process is undefined ; sin embargo, las respuestas a esa pregunta están desactualizadas ya que usan la API remote que ya no forma parte de electron.