Страница 1 из 1

Electron обёртка на веб сайты

Добавлено: 15 авг 2025, 20:24
turik02
Открыть терминал, установить и выполнить

Код: Выделить всё

sudo dnf install -y nodejs22
sudo npm install -g electron-packager
mkdir electron-app
cd electron-app
Потом выполнить

Код: Выделить всё

npm init -y
В созданной папке редактируем файл package.json

Код: Выделить всё

{
  "name": "MAX",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
  "start": "electron .",
  "package-linux": "electron-packager . --overwrite --platform=linux --arch=x64 --icon=icon.png --prune=true --out=release-builds"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "description": ""
}
Первый вариант index.js

Код: Выделить всё

// Импортируем основные модули Electron
const { app, BrowserWindow } = require('electron');

// Объявляем глобальную переменную для главного окна
let mainWindow;

// Обработчик события готовности приложения
app.on('ready', () => {
// Создаем новое окно браузера с заданными параметрами
  mainWindow = new BrowserWindow({
    width: 800,              // Ширина окна в пикселях
    height: 600,             // Высота окна в пикселях
    autoHideMenuBar: true,   // Автоматически скрываем меню (доступ через Alt)
    webPreferences: {
      nodeIntegration: true  // Разрешаем интеграцию Node.js в веб-контент
    }
  });
  
    mainWindow.loadURL('https://web.max.ru/')
    
// Максимизируем окно сразу после создания
  mainWindow.webContents.once('did-finish-load', () => {
    mainWindow.maximize();
  });
});
Создать в папке файл (второй вариант) index.js

Код: Выделить всё

// Импортируем основные модули Electron
const { app, BrowserWindow } = require('electron');

// Объявляем глобальную переменную для главного окна
let mainWindow;

// Обработчик события готовности приложения
app.on('ready', () => {
// Создаем новое окно браузера с заданными параметрами
  mainWindow = new BrowserWindow({
    width: 800,              // Ширина окна в пикселях
    height: 600,             // Высота окна в пикселях
    autoHideMenuBar: true,   // Автоматически скрываем меню (доступ через Alt)
    webPreferences: {
      nodeIntegration: true  // Разрешаем интеграцию Node.js в веб-контент
    }
  });

// Обработчик успешной загрузки
    mainWindow.webContents.on('did-finish-load', () => {
        mainWindow.maximize();
  });

// Обработчик ошибок загрузки
    mainWindow.webContents.on('did-fail-load', (event, failUrl, errorCode, errorDescription) => {
        console.error('Ошибка загрузки страницы:', errorDescription);
  });

// Загружаем указанный URL в окно
  mainWindow.loadURL('https://web.max.ru');

// Обработчик закрытия окна
  mainWindow.on('closed', () => {
    mainWindow = null;        // Очищаем ссылку на окно
  });
});

// Обработка закрытия всех окон
app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit();
  }
});

// Обработка ошибок
app.on('error', (error) => {
  console.error('Ошибка приложения:', error);
});

// Обработка выхода (используем before-quit вместо will-quit)
app.on('before-quit', () => {
  // Здесь можно добавить логику очистки
});
Выполнить

Код: Выделить всё

npm install electron --save-dev
Потом

Код: Выделить всё

npm run package-linux
Приложение будет в папке release-builds.
Снимок экрана от 2025-08-15 17-12-21.png
Снимок экрана от 2025-08-15 17-19-27.png
Снимок экрана от 2025-08-15 19-10-39.png
icon.png
icon.png (26.2 КБ) 327 просмотров