mainWindow 未定义 electron js

我在ElectronJS中制作了一个应用程序,并尝试在事件中加载不同的 html 文档。但是当我尝试这样做时,出现了这个错误(见下图)

http://img4.mukewang.com/6389ae9b0001ffd703330127.jpg

那么,我做错了什么,还是有不同的方法..?


这是我的代码:


const { app, BrowserWindow, ipcMain } = require('electron')


const path = require('path');


function createWindow () {

  // Create the browser window.

  const mainWindow = new BrowserWindow({

    width: 800,

    height: 600,

    icon: "icon.png",

    webPreferences: {

      nodeIntegration: true

    }

  })


  mainWindow.loadFile("index.html");


}


app.whenReady().then(() => {

    createWindow()


    app.on('activate', function () {

        if(BrowserWindow.getAllWindows.length === 0) createWindow()

    })

}).catch(err => console.log(err))


app.on('window-all-closed', function () {

    if(process.platform !== 'darwin') app.quit()

})


ipcMain.on("login", (event, data) => {

    Authenticator.getAuth(data.u, data.p).then(() => {

        event.sender.send('done')

      

        mainWindow.loadURL(path.join(__dirname, "home.html"))

    }).catch((err) => {

        event.sender.send("err", { er: err })

    })

})


红颜莎娜
浏览 70回答 1
1回答

人到中年有点甜

您在其中定义了它createWindow;在该功能之外无法访问它。所以返回它,然后在调用时捕获它createWindow:function createWindow () {  // ...  return mainWindow;}app.whenReady().then(() => {    const mainWindow = createWindow()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript