// main.js - Electron 主进程文件
const { app, BrowserWindow } = require('electron');
function createWindow () {
  // 创建浏览器窗口
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true
    }
  });
  // 加载index.html文件
  win.loadFile('index.html');
}
// 当Electron完成初始化并准备创建浏览器窗口时调用此方法
app.whenReady().then(createWindow);
// 所有窗口关闭时退出应用
app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit();
  }
});
app.on('activate', () => {
  // 在macOS上,当单击dock图标且没有其他窗口打开时,
  // 通常应在应用程序中重新创建一个窗口
  if (BrowserWindow.getAllWindows().length === 0) {
    createWindow();
  }
});引入模块:const { app, BrowserWindow } = require('electron');
这行代码引入了Electron的app和BrowserWindow模块。app模块管理应用程序的生命周期事件,而BrowserWindow模块用于创建和管理浏览器窗口。
创建窗口:createWindow函数用于创建一个新的浏览器窗口,并加载HTML文件。webPreferences选项启用了Node.js集成,允许在渲染进程中使用Node.js功能。
应用启动:app.whenReady().then(createWindow);
当Electron完成初始化并准备好创建浏览器窗口时,调用createWindow函数。
窗口关闭:app.on('window-all-closed', ...)
当所有窗口关闭时,如果操作系统不是macOS,则退出应用程序。macOS上即使关闭所有窗口,应用程序仍然会在后台运行,直到用户明确退出。
激活应用:app.on('activate', ...)
在macOS上,当用户点击Dock图标时,如果没有打开的窗口,会重新创建一个窗口。
这个示例展示了如何使用Electron创建一个简单的桌面应用程序,包含主进程的基本配置。
上一篇:js 获取年月
下一篇:js json key
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站