首页 > 解决方案 > Electron 应用程序运行没有任何错误,但窗口没有打开或在任务管理器中显示

问题描述

我正在构建一个电子应用程序。该应用程序运行没有任何错误,但没有打开。我在 32 位机器上运行 Windows 7。我的 main.js 文件如下所示:

const {app, BrowserWindow} = require('electron');
const path = require('path');
const url = require('url');
// Initialize window
let win;

function createWindow() {

     win = new BrowserWindow({
        width: 800,
        height: 600,
        icon: __dirnaname+ '/assets/images/icon.jpg'
    });

    // Load Window
    win.loadUrl(url.format({
        pathname: path.join(__dirname, './index.html'),
        protocol: 'file',
        slashes: true
    }));

    // Close window
    win.on('closed', () =>{
        win = null;
    });

    //Run Create Window Function
    win.on('ready', createWindow);

    //Check Mac OS platform
    app.on('all-window-closed', () => {
        if(process.platform !== 'darwin') {
            app.quit();
        }
    });

};

标签: javascriptnode.jselectron

解决方案


这条线是错误的

win.on('ready', createWindow);

你的意思是

app.on('ready', createWindow);

的范围之外createWindow。像这样:

function createWindow() {
  ...
};
app.on('all-window-closed', () => {
  ...
});
app.on('ready', createWindow);

推荐阅读