更改Electron中的主文件

更改Electron中的主文件,electron,Electron,您好,我是Electron的新手,我想将我的代码拆分为单独的文件,我真的想将我的ipcMain.on功能从main.ts移到另一个文件。因为我不知道如果我将它移动到另一个文件,我应该如何调用它,所以我如何才能做到这一点? 有没有办法在另一个文件中使用mainWindow.webContents.send() 梅因酒店 import { app, BrowserWindow, ipcMain } from 'electron'; import isDev from 'electron-is-dev

您好,我是Electron的新手,我想将我的代码拆分为单独的文件,我真的想将我的ipcMain.on功能从main.ts移到另一个文件。因为我不知道如果我将它移动到另一个文件,我应该如何调用它,所以我如何才能做到这一点? 有没有办法在另一个文件中使用mainWindow.webContents.send()

梅因酒店

import { app, BrowserWindow, ipcMain } from 'electron';
import isDev from 'electron-is-dev';
import path from 'path';
import db from './database/database';

let mainWindow: BrowserWindow;

const createWindow = () => {
  mainWindow = new BrowserWindow({
    minWidth: 980,
    minHeight: 600,
    webPreferences: {
      nodeIntegration: true,
    },
    frame: false,
  });

  mainWindow.loadURL(
    isDev
      ? 'http://localhost:3000'
      : `file://${path.join(__dirname, "../build/index.html")}`
  );
  mainWindow.webContents.openDevTools();
};

app.whenReady().then(createWindow);

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit();
  }
});

app.on('activate', () => {
  if (BrowserWindow.getAllWindows().length === 0) {
    createWindow();
  }
});

ipcMain.on('mainWindow:close', () => {
  db.close();
  app.quit();
});

ipcMain.on('mainWindow:min', () => {
  mainWindow.minimize();
});

ipcMain.on('mainWindow:max', () => {
  if (mainWindow.isMaximized()) {
    mainWindow.unmaximize();
  }
  else {
    mainWindow.maximize();
  }
});