import { BrowserWindow, screen } from "electron"; import { join } from "path"; export function createWindow() { const NODE_ENV = process.env.NODE_ENV; const { width, height } = screen.getPrimaryDisplay().workAreaSize; // 生成窗口实例 const mainWin = new BrowserWindow({ width, // * 指定启动app时的默认窗口尺寸 height, // * 指定启动app时的默认窗口尺寸 frame: true, // * app边框(包括关闭,全屏,最小化按钮的导航栏) @false: 隐藏 titleBarStyle: "hidden", transparent: true, // * app 背景透明 hasShadow: false, // * app 边框阴影 show: false, // 启动窗口时隐藏,直到渲染进程加载完成「ready-to-show 监听事件」 再显示窗口,防止加载时闪烁 resizable: true, // 禁止手动修改窗口尺寸 webPreferences: { // 加载脚本 preload: join(__dirname, "../..", "preload/index"), nodeIntegration: true, }, }); // 启动窗口时隐藏,直到渲染进程加载完成「ready-to-show 监听事件」 再显示窗口,防止加载时闪烁 mainWin.once("ready-to-show", () => { mainWin.show(); // 显示窗口 }); if (NODE_ENV === "development") mainWin.loadURL("http://localhost:3000"); if (NODE_ENV !== "development") { process.env.DIST_ELECTRON = join(__dirname, '../'); const WEB_URL = join(process.env.DIST_ELECTRON, "../../build/index.html"); mainWin.loadFile(WEB_URL); } }