我一直在玩Electron和AngularJS,并构建了一个简单的应用程序。如果我用电子运行它,它会按预期工作。使用电子打包程序将应用程序打包到 win32 可执行文件后,它不再起作用。(打开白色窗口,仅此而已)。
打包时是否可以看到一些调试?我不知道出了什么问题,我唯一可能"做错"的事情是包含一些外部 CDN 库。在 Electron 中是否允许这样做,或者我必须使用 node 安装所有内容?
中有效地进行调试,您必须在应用程序的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();
});