以下是一些 app 模块的常用功能和事件:
1. 应用程序生命周期事件:
- ready: 当 Electron 应用程序完成基础的初始化后,会触发 ready 事件。通常在这个事件中创建主窗口。
const { app, BrowserWindow } = require('electron');
app.on('ready', () => {
const mainWindow = new BrowserWindow({ width: 800, height: 600 });
mainWindow.loadFile('index.html');
});
- window-all-closed: 当所有窗口都关闭时触发。在 macOS 中,通常应用程序会保持激活状态,直到用户显式地退出。
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit();
}
});
- activate: 在应用程序被激活时(例如点击 macOS dock 上的应用图标),触发 activate 事件。通常在这里重新创建主窗口。
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow();
}
});
2. 获取应用程序的基本信息:
const { app } = require('electron');
console.log(app.getName()); // 获取应用程序名称
console.log(app.getVersion()); // 获取应用程序版本
console.log(app.getPath('userData')); // 获取用户数据目录
3. 配置应用程序的行为:
const { app } = require('electron');
app.setAppUserModelId('com.example.myapp'); // 设置应用程序的用户模型 ID
app.setAsDefaultProtocolClient('myapp'); // 设置应用程序作为某个协议的默认处理程序
4. 处理应用程序退出事件:
const { app } = require('electron');
app.on('before-quit', (event) => {
// 在应用程序退出前执行一些操作
// 可以通过 event.preventDefault() 来阻止应用程序退出
});
app.on('will-quit', () => {
// 在应用程序退出时执行一些操作
});
app.on('quit', (event, exitCode) => {
// 在应用程序已退出后执行一些操作
});
这只是 app 模块的一小部分功能和事件。通过 app 模块,你可以控制应用程序的整个生命周期,实现一些全局配置,并处理与应用程序退出相关的事件。详细的文档可以在 Electron 官方文档的 [app 模块部分](https://www.electronjs.org/docs/api/app) 找到。
转载请注明出处:http://www.zyzy.cn/article/detail/10915/Electron