[[oktatas:szoftverfejlesztes:asztali:electron:angular-electron|< Angular-Electron]] ====== Angular-Electron - Kezdés ====== * **Szerző:** Sallai András * Copyright (c) 2024, Sallai András * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Bevezetés ===== Manapság népszerű asztali alkalmazásként egy Electron alapú alkalmazást létrehozni. Itt megnézzük, hogyan kell ezt elkezdeni Angular keretrendszerrel, hogyan lesz belőle futtatható alkalmazás. A leírásban elkészített alkalmazás elérhető itt: * https://github.com/oktat/electron-app.git ===== Projekt létrehozása ===== Legyen a projekt neve "electron-app". Létrehozzuk az ng paranccsal, majd VSCode-dal szerkesztjük a projektet. ng new electron-app cd electron-app code . Függőségek hozzáadása: npm install --save-dev electron electron-builder ===== A projekt beállítása ===== Az alábbi minta nem a teljes package.json, csak amivel ki kell egészíteni: { "main": "src/electron.js", "scripts": { "electron": "ng build && electron --disable-gpu .", "electron-build": "ng build && electron-builder" }, "build": { "files": [ "./src/electron.js", "./dist/electron-app/browser/*" ] } } A --disable-gpu kihagyható. A "build" rész, a "scripts": { "electron-build" } számára szükséges. Ennek hatására a dist könyvtárat is figyelembe veszi az alkalmazás létrehozása során. Az electron-app helyett minden helyen saját projekt nevünk kell szerepeljen. A scripts nevek lehet más nevek, ez csak egy ajánlás. Az src/index.html fájlban javítsuk a elem href tulajdonságának értékét: ===== Az Electron belépési pontja ===== Hozzunk létre az src könyvtárban egy **electron.js** fájlt: const { app, BrowserWindow } = require('electron'); function createWindow() { const win = new BrowserWindow({ width: 800, height: 600 }); win.loadFile('dist/electron-app/browser/index.html'); } app.whenReady().then(() => { createWindow() }) A win.loadFile() paraméterében javítsuk a saját projektünk nevére az útvonalat. ===== Fejlesztés ===== A fejlesztés során használhatjuk továbbra is a **ng serve** beépített szervert. Ha szeretnénk megnézni hogyan fog ez kinézni asztali alkalmazásként: npm run electron ===== Az asztali alkalmazás elkészítése ===== npm run eclectron-build Az utasítás hatására létrejön a dist könyvtárban (verziószámtó függően) egy ehhez hasonló nevű futtatható fájl: * electron-app-0.0.1.AppImage Próbáljuk ki a futtatást, például egy fájlkezelőből.