电子远程升级问题

Electron Remote Upgrade Issue

我有一个 Electron 应用程序,是我两年前写的。我不是一家公司的员工,只是写了一个应用程序的人,少数人用它来让世界变得更美好。无论如何,我需要对应用程序进行一些更改,但我的计算机前一段时间崩溃了,所以我将旧代码从 Github 下载到我的新计算机上并开始工作。但我立即发现该应用程序无法在新的 17.0.0 版本的 electron 中运行,因为 Electron 中的 REMOTE 模块已被弃用,然后在以前的版本中被删除。我尝试按照此处的说明... https://www.npmjs.com/package/@electron/remote?activeTab=readme 将 REMOTE 替换为新的 @electron/remote 模块。我遇到了几个问题,最近的问题是:

JavaScript 错误:未捕获异常:TypeError BrowserWindow 不是 app.createWindows 处的构造函数(C:...\main.js:89:17)。

我在我的应用程序中使用远程功能(属性?)超过 50 次,包括 .dialogue、.getGlobal、.getCurrentWindow 和 .BrowserWindow.getAllWindows

我没有在这里包含我的代码,因为我并不是真的在寻找编码解决方案(除非那是 easy/best/only 我应该做的事情,你可以根据我的信息给我一个解决方案书面),但更一般的建议是我应该朝哪个方向解决这个问题。我是一名优秀的程序员,使用的语言不是 Electron、JavaScript 或 NodeJS!所以,在正确的指导下我可以通过,但请对我放轻松。 (例如,我在 API 参考部分的 @electron/remote 说明中迷路了。)感谢您提供的任何帮助。

麦克

Electron 在过去几年中发生了一些重大变化,尤其是 remote 的使用。我不想这么说,但看起来你需要做一些工作才能让它再次运行。

你会想看看 ipcMain, ipcRender and contextBridge

在您的 new BrowserWindow() 方法中包含 webPreferences: {preload: ""} 以及使用上述 Electron 方法将使您处于安全、快速、线程分离代码的良好起点。

有关详细信息,请参阅 Context Isolation and Inter-Process Communication

PS:如果您需要一些快速的代码来启动/给您一个想法,请告诉我。