2023-12-28 14:36:52 +08:00

36 lines
1.4 KiB
TypeScript

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);
}
}