用于win32的电子封装不起作用



我一直在玩Electron和AngularJS,并构建了一个简单的应用程序。如果我用电子运行它,它会按预期工作。使用电子打包程序将应用程序打包到 win32 可执行文件后,它不再起作用。(打开白色窗口,仅此而已)。

打包时是否可以看到一些调试?我不知道出了什么问题,我唯一可能"做错"的事情是包含一些外部 CDN 库。在 Electron 中是否允许这样做,或者我必须使用 node 安装所有内容?

要在Electron

中有效地进行调试,您必须在应用程序的main.js文件中打开浏览器嵌入式开发人员工具,然后在Electron启动后访问它们。 例如,下面是一些代码,它将加载您的应用并打开带有子菜单的菜单,该子菜单启动适用于 Chrome 的开发人员工具(或通过此处定义的 Ctrl-Shift-I for Windows 的快捷方式)。

app.on('ready', function () {
    'use strict';
    var path = require('path');
    var iconPath = path.resolve(__dirname, './dist/app.ico');
    const appIcon = new Tray(iconPath);
    mainWindow = new Window({
        width: 1280,
        height: 1024,
        autoHideMenuBar: false,
        useContentSize: true,
        resizable: true,
        icon: iconPath
        //  'node-integration': false // otherwise various client-side things may break
    });
    appIcon.setToolTip('My App');
    mainWindow.loadURL('http://localhost:3000/');
    var template = [
        {
            label: 'View',
            submenu: [
                {
                    label: 'Toggle Developer Tools',
                    accelerator: (function() {
                        if (process.platform === 'darwin') {
                            return 'Alt+Command+I';
                        } else {
                            return 'Ctrl+Shift+I';
                        }
                    })(),
                    click: function(item, focusedWindow) {
                        if (focusedWindow) {
                            focusedWindow.toggleDevTools();
                        }
                    }
                },
            ]
        }
    ];

    var menu = Menu.buildFromTemplate(template);
    Menu.setApplicationMenu(menu);
    mainWindow.focus();
});

最新更新