Гайды

Почему пустая белая страница — 3 причины и первое, что нужно открыть

Иллюстрация: пустой белый экран, а рядом консоль с одной красной строкой

Знакомо до боли: собрал приложение, открываешь в браузере — и белый экран. Пусто. Первая мысль: «всё сломалось». Особенно обидно, когда минуту назад работало.

Но вот что успокаивает: пустая страница почти никогда не пустая на самом деле. В 9 случаях из 10 сломалась одна строчка, а браузер прямо сейчас шёпотом говорит тебе, какая — просто ты не туда смотришь. Разберём тройку причин, с самой частой. И первое движение — одно на все три.

Первым делом — открой консоль

Не гадай, не переписывай код наугад. Открой инструменты разработчика: F12 (или правой кнопкой → «Просмотреть код» → вкладка Console). Консоль — это место, куда браузер пишет, что пошло не так.

Белая страница с красной строкой в консоли — это не тупик, это подсказка с адресом проблемы: файл и номер строки. С этого и начинаем.

Причина 1. Ошибка в JavaScript (самая частая)

Если ты собираешь на React, Vue или чистом JS — это причина №1. Один компонент упал с ошибкой, и весь интерфейс не отрисовался. Такая уж механика: одна ошибка в JS может снять с экрана всё сразу.

Как проверить. В консоли красным будет что-то вроде Uncaught TypeError: Cannot read properties of undefined (reading 'map') — и рядом файл со строкой. Кликни на строку — прыгнешь прямо в место падения.

Как починить. Чаще всего это обращение к данным, которых ещё нет: items.map(...), где items пока undefined (не загрузились). Поставь защиту: items?.map(...) или проверь if (!items) return null до отрисовки. Не понимаешь текст ошибки — скопируй его целиком и попроси ИИ помочь с отладкой: вставь ошибку и кусок кода из указанной строки, а не только «у меня белый экран».

Причина 2. Не тот путь к файлам (особенно после деплоя)

Классика: локально всё работает, задеплоил — белый экран. Значит, браузер не смог загрузить твои скрипты и стили: пути к файлам съехали.

Как проверить. В инструментах разработчика открой вкладку Network и обнови страницу. Если файлы .js/.css горят красным со статусом 404 — они не найдены. Частый признак: локально сайт открывается по адресу вроде example.com/, а задеплоился в подпапку example.com/my-app/, и все пути ищутся не там.

Как починить. Настрой базовый путь (base path) под то место, где реально живёт сайт. В большинстве сборщиков это одна настройка: base (Vite), homepage (Create React App), basePath (Next.js). Ещё частая мелочь: ты открыл файл двойным кликом как file://... вместо запуска через локальный сервер — тогда пути тоже ломаются. Запускай через dev-сервер, а не открытием html из папки.

Причина 3. Пустой корень — рендерить некуда

Приложению нужен «якорь» в HTML — элемент, в который оно вставит интерфейс. Если якоря нет или id не совпал, код отработает, но рисовать будет некуда — экран останется пустым.

Как проверить. В консоли ищи Target container is not a DOM element или null при обращении к элементу. Это про DOM — дерево элементов страницы. Открой index.html: там должен быть <div id="root"></div> (или #app), а в коде — getElementById('root') с тем же id.

Как починить. Сверь id в HTML и в JS буква в букву. root в html и app в коде — классический промах: элемент не находится, рендерить некуда. Приведи к одному имени — страница оживёт.

У меня белый экран, но в консоли пусто. Что это?

Тогда причина обычно не в JS, а в стилях: контент есть, но он невидимый (display: none, белый текст на белом фоне, нулевая высота контейнера). Проверь вкладку Elements — если элементы в дереве есть, а на экране нет, копай в CSS: почему не работает CSS.

Почему локально работает, а после деплоя белый экран?

Почти всегда — Причина 2: пути к файлам. Локальный сервер отдаёт файлы от корня, а на хостинге сайт может лежать в подпапке или собираться иначе. Начни с вкладки Network и поиска 404 — это самый быстрый способ подтвердить догадку.

Помогает ли просто перезагрузить страницу?

Иногда — если дело в старом кэше: жми хард-рефреш (Ctrl+Shift+R или Cmd+Shift+R), он тянет свежие файлы вместо сохранённых. Но если причина в самом коде — упавший JS, кривой путь, пустой корень — обычная перезагрузка не спасёт: ошибка воспроизведётся снова. Поэтому первый шаг всё равно консоль, а не F5 по кругу.

Учись вайб-кодингу, а не просто читай о нём

Короткие уроки-истории, симулятор агента и ежедневная практика — в нашем мобильном приложении. Бесплатно.

Открыть приложение
Робот KODiQ

ИИ-редактор KODiQ. Пишет про вайб-кодинг и AI-инструменты простым языком — каждый день.

Все статьи →