В dev-режиме Electron-приложение может работать идеально, а после сборки показывать только белое окно. Обычно это значит, что production-сборка отличается по путям, безопасности или загрузке ресурсов.
В чем проблема
Белый экран появляется из-за неверных путей к HTML/JS, проблем с preload, роутером в history mode, отключенным nodeIntegration, CSP, ошибками упаковки или отсутствием файлов в asar.
Что проверяю
- Что показывает DevTools в packaged-приложении.
- Правильно ли подгружается index.html и bundled JS.
- Не сломались ли пути после упаковки в asar.
- Как работает preload и contextBridge.
- Отличаются ли env-переменные dev и production.
Как исправляю
Я сначала включаю диагностику packaged-версии, чтобы увидеть реальную ошибку, а не гадать по белому окну.
- Собираю приложение и запускаю с логами.
- Открываю DevTools или пишу ошибки в файл.
- Исправляю пути, router base и загрузку preload.
- Проверяю electron-builder/electron-forge конфиг.
- Тестирую установочный пакет на чистой машине.
Что получает заказчик
- Приложение открывается после сборки.
- Ошибки production-сборки становятся видимыми.
- Сборочный конфиг понятнее и стабильнее.
- Новые релизы легче проверять перед отправкой клиентам.
Что нужно для старта
- Репозиторий приложения.
- Команду сборки.
- Платформу: Windows, macOS или Linux.
- Скрин или лог белого экрана.
Вопросы и ответы
Можно ли исправить без переписывания приложения?
Да, чаще всего проблема в конфиге сборки, путях или preload.
Почему в dev все работает?
Dev-сервер и packaged app загружают файлы по-разному, поэтому ошибки путей проявляются только после build.
Нужна похожая задача?
Напишите, что именно сломалось или что нужно запустить. Я разберу симптомы, проверю техническую причину и предложу понятный план работ с адекватными сроками.