/
45case
/
ptable
Обзор
Документация
Войти
/
45case
/
ptable
Код
Запросы
3
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
dev
electron/main.ts
57 строк
1 KB
Olya
feat: добавить sql.js (SQLite WASM), IPC-обработчики и универсальный поиск
09 июл 2026, 11:06
09 июл 2026, 11:06
e0492bf
Код
Авторство
О чём код?
import { app, BrowserWindow } from "electron"; import { fileURLToPath } from "node:url"; import path from "node:path"; import { initDatabase } from "./database"; import { registerIpcHandlers } from "./ipc"; const __dirname = path.dirname(fileURLToPath(import.meta.url)); process.env.APP_ROOT = path.join(__dirname, ".."); const VITE_DEV_SERVER_URL = process.env["VITE_DEV_SERVER_URL"]; const MAIN_DIST = path.join(process.env.APP_ROOT, "dist-electron"); const RENDERER_DIST = path.join(process.env.APP_ROOT, "dist"); process.env.VITE_PUBLIC = VITE_DEV_SERVER_URL ? path.join(process.env.APP_ROOT, "public") : RENDERER_DIST; app.disableHardwareAcceleration(); function createWindow() { const win = new BrowserWindow({ title: "Периодическая таблица", width: 1400, height: 900, webPreferences: { preload: path.join(__dirname, "preload.js"), contextIsolation: true, nodeIntegration: false, }, }); if (VITE_DEV_SERVER_URL) { win.loadURL(VITE_DEV_SERVER_URL); } else { win.loadFile(path.join(RENDERER_DIST, "index.html")); } } app.on("window-all-closed", () => { if (process.platform !== "darwin") { app.quit(); } }); app.on("activate", () => { if (BrowserWindow.getAllWindows().length === 0) { createWindow(); } }); app.whenReady().then(async () => { await initDatabase(); registerIpcHandlers(); createWindow(); });