我试图在ipcMain和ipcRenderer之间建立电子通信。我正在使用电子反应样板
因此,第一步是将这个部分添加到main中:
app
.whenReady()
.then(() => {
ipcMain.handle('dialog:openFile', () => {
console.log('test');
});第二步是将其添加到preload文件中:
contextBridge.exposeInMainWorld('electronAPI', {
openFile: () => ipcRenderer.invoke('dialog:openFile'),
});第三步是我被困在哪里。我试图通过以下方式将其添加到react组件中:
await window.electronAPI.openFile();但我得到了Property 'electronAPI' does not exist on type 'Window & typeof globalThis'.错误。这里有什么问题?
发布于 2022-08-02 18:11:06
Hello @Webby您确定预加载文件加载在browserWindow对象中吗?这也是必要的,您有属性contextIsolation在True上
像这样的东西
const win = new BrowserWindow(
{
fullscreen: false,
webPreferences: {
contextIsolation: true,
preload: path.join(__dirname, '../path/to/your/preload.js'),
},
},https://stackoverflow.com/questions/73192829
复制相似问题