electron 更新电子应用程序并收到无法找到电子的错误

zbsbpyhn  于 2022-12-16  发布在  Electron
关注(0)|答案(1)|浏览(170)

好的,我正在尝试更新一个使用了两年的电子应用程序。我需要更改语法并删除window.require()并用CreateBrowserWindow替换它,以便让应用程序在新窗口中呈现,而不是在localhost:3000的浏览器中呈现。当npm start创建一个新窗口时,我一直收到一个空白屏幕和Electron could not be found. No hard resets for you!警告。我能够进入createWindow函数,但应用程序启动时无法识别电子。不知道如何才能使其工作。使用GoogleFu找不到任何东西。以下是我的公共文件夹中electron.js的开头代码(我尝试将其从公共文件夹移到根文件夹,但没有区别):

const { app, BrowserWindow, Menu, dialog } = require('electron'); 
const createWindow = () => { 
     const win = new BrowserWindow({ 
          width: 800, height: 600, webPreferences: { 
          nodeIntegration: true, contextIsolation: false } 
     }) 
     console.log('error') 
     win.loadFile('./index.html'); 
}; 
app.whenReady().then(() => { createWindow() })

当我运行它的时候,我得到这个输出:
Electron could not be found. No hard resets for you!然后换行error
问题是在一开始就发生了。我如何引导我的应用程序找到电子?

  • 升级到Electron v22
  • 正在删除window.require()语法并将其替换为BrowserWindow。然后预期应用程序将在新窗口中打开。已获得要打开的新窗口,但窗口中没有内容。
  • 在createWindow函数中放置try catch块以获取更详细的错误说明。一无所获,createWindow函数仍在运行。甚至在到达该位置之前就已意识到错误。不确定为什么在获得未找到Electron的初始警告时仍会发生这种情况。该函数不依赖于来自require(electron)语句的BrowserWindow吗?
  • 将启动脚本更改为electron .
yyhrrdl8

yyhrrdl81#

你有没有试过

require('electron-reload')(_dirname)

所以你不在开发环境中运行electro-reload?

相关问题