В 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.

Нужна похожая задача?

Напишите, что именно сломалось или что нужно запустить. Я разберу симптомы, проверю техническую причину и предложу понятный план работ с адекватными сроками.