为win32打包的电子不起作用

时间:2016-02-24 21:23:41

标签: electron

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

在打包时有没有看到一些调试? 我不知道出了什么问题,我唯一能做的就是做错了#34;错误"包括一些外部CDN库。这是允许在Electron中还是我必须用节点安装所有内容?

1 个答案:

答案 0 :(得分:1)

要在Electron中有效调试,您必须在应用的main.js文件中打开浏览器嵌入式开发人员工具,然后在电子启动时访问它们。例如,下面是一些代码,它们将加载您的应用并打开一个菜单,其中包含一个子菜单,用于启动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();

});