Quasar Framework предоставляет мощный набор инструментов для создания кроссплатформенных приложений, включая desktop-приложения на базе Electron. Дистрибуция таких приложений требует понимания структуры проекта, конфигурации сборки и особенностей платформ, для которых выполняется компиляция.
Для начала необходимо убедиться, что проект инициализирован с поддержкой Electron:
quasar create my-app
cd my-app
quasar mode add electron
После добавления режима Electron структура проекта изменяется:
/src-electron — содержит основной процесс Electron,
скрипты запуска и настройки./dist/electron — папка для финальной сборки
приложения.quasar.config.js расширяется секцией
electron для управления сборкой.Ключевые параметры конфигурации:
electron: {
bundler: 'packager', // или 'builder'
packager: {
// Опции для electron-packager
platform: 'win32', // 'darwin', 'linux'
arch: 'x64', // 'arm64', 'ia32'
icon: 'src/statics/icons/app-icon'
},
builder: {
appId: 'com.example.myapp',
productName: 'MyApp',
win: {
target: ['nsis', 'zip'],
icon: 'src/statics/icons/app-icon.ico'
},
mac: {
target: ['dmg', 'zip'],
icon: 'src/statics/icons/app-icon.icns'
}
},
nodeIntegration: true,
extendWebpack(cfg) {
// Дополнительные настройки Webpack для Electron
}
}
Выбор bundler’а определяет подход к упаковке и дистрибуции:
Сборка desktop-приложения выполняется командой:
quasar build -m electron
При этом Quasar выполняет:
main process) из
/src-electron/main-process.Для тестирования локальной сборки можно использовать:
quasar dev -m electron
Этот режим запускает приложение в режиме hot reload, что ускоряет разработку.
При дистрибуции необходимо учитывать особенности целевых платформ:
Windows
.exe (NSIS), .zipsigntool или
electron-builder автоматическиelectron-updatermacOS
.dmg, .zipmas таргетомLinux
.AppImage, .deb,
.rpmВ конфигурации quasar.config.js можно задавать
платформо-специфические параметры:
builder: {
win: { target: 'nsis' },
mac: { target: 'dmg' },
linux: { target: 'AppImage' }
}
Quasar совместно с Electron позволяет интегрировать
автообновления через electron-updater:
const { autoUpdater } = require('electron-updater');
autoUpdater.checkForUpdatesAndNotify();
autoUpdater.on('update-available', () => {
console.log('Доступно обновление');
});
autoUpdater.on('update-downloaded', () => {
autoUpdater.quitAndInstall();
});
Важно правильно настроить сервер обновлений, который предоставляет
.yml или .json файлы с информацией о версиях и
бинарных файлах.
Все статические ресурсы для desktop-приложений должны находиться в
/src/statics.
.ico для Windows, .icns для macOS,
.png для Linux.statics/icons должна содержать иконки разных
размеров (16x16, 32x32, 256x256 и т.д.) для корректного отображения в
системных интерфейсах.Windows NSIS:
quasar build -m electron -T win
.exe установщик.installerOptions.macOS DMG:
quasar build -m electron -T mac
.dmg с drag-and-drop установкой.Linux AppImage:
quasar build -m electron -T linux
.deb и .rpm
для специфических дистрибутивов.electron-builder для комплексной упаковки
и возможности автообновлений.Quasar Framework в связке с Electron позволяет создавать полнофункциональные кроссплатформенные desktop-приложения с единым кодовым базисом, при этом обеспечивая гибкость дистрибуции, поддержку автообновлений и удобное управление ресурсами и конфигурацией.