Структура сообщения
Первая строка ошибки.
First error line
TypeError: Cannot read properties of undefined
Значение
Первая четкая строка с ошибкой часто является лучшей отправной точкой.
Как читать
Игнорируйте повторяющиеся записи в журнале отслеживания, по крайней мере, сначала, и определите первую строку, которая указывает на сбой.
Пример
TypeError: Cannot read properties of undefinedПример запроса
Найдите первую реальную строку ошибки в этом журнале.
Структура сообщения
Имя ошибки
Error name
SyntaxError, TypeError, ReferenceError
Значение
Имя ошибки указывает на общий класс проблемы.
Как читать
Используйте это для разделения проблем, связанных с синтаксисом, временем выполнения, типами данных, сетью и средой.
Пример
SyntaxError, TypeError, ReferenceErrorПример запроса
Классифицируйте эту ошибку по имени ошибки, прежде чем предлагать исправление.
Структура сообщения
Сообщение об ошибке
Error message
Module not found: Can't resolve '@/lib/error-message-guide'
Значение
Сообщение объясняет, что инструмент не смог сделать.
Как читать
Считывайте глагол и объект: не удалось разрешить модуль, не удалось прочитать свойство или не удалось привязать порт.
Пример
Module not found: Can't resolve '@/lib/error-message-guide'Пример запроса
Перефразируйте это сообщение об ошибке на простом корейском языке и укажите наиболее вероятную причину.
Структура сообщения
Трассировка стека
Stack trace
at SiteHeader (src/components/SiteHeader.tsx:42:15)
Значение
Список вызовов функций, которые привели к ошибке.
Как читать
Найдите первую строку, которая указывает на ваш файл проекта, затем изучите эту область.
Заметка
Верхняя строка стека не всегда является вашим кодом. Некоторые строки - это внутренние компоненты фреймворка.
Пример
at SiteHeader (src/components/SiteHeader.tsx:42:15)Пример запроса
В этой трассировке стека определите первую строку из моего проекта.
Подсказки места
Путь к файлу.
File path
src/components/LanguageSwitcher.tsx
Значение
Путь указывает, какой файл, по мнению инструмента, задействован.
Как читать
Предпочитайте пути, расположенные в каталогах src, app, components или lib, прежде чем просматривать папки зависимостей.
Пример
src/components/LanguageSwitcher.tsxПример запроса
Перечислите файлы проекта, на которые ссылается эта ошибка.
Подсказки места
Строка и столбец
Line and column
src/app/page.tsx:27:12
Значение
Строка и столбец сужают местоположение до определенной области символов.
Как читать
Проверьте указанную строку и несколько строк выше, потому что реальная причина может быть раньше.
Пример
src/app/page.tsx:27:12Пример запроса
Откройте файл в строке, где возникла проблема, и объясните, что кажется неправильным.
Подсказки места
Строка файла проекта
Project file line
src/lib/git-github.ts:143:7
Значение
Стек или строка сборки, указывающая на исходный код, а не на зависимость.
Как читать
Обычно это строка, которую следует проверить, прежде чем читать длинные трассировки фреймворка.
Пример
src/lib/git-github.ts:143:7Пример запроса
Разделение строк моего проекта от строк фреймворка.
Подсказки места
node_modules line
node_modules line
node_modules/next/dist/server/app-render.js
Значение
Линия внутри установленной зависимости или пакета фреймворка.
Как читать
Рассматривайте это как контекст, если в журнале также указана версия пакета или проблема конфигурации.
Заметка
Не редактируйте папку node_modules как обычную правку.
Пример
node_modules/next/dist/server/app-render.jsПример запроса
Сообщите мне, является ли эта строка из файла node_modules причиной проблемы или просто контекстом.
JavaScript runtime
SyntaxError
SyntaxError
SyntaxError: Unexpected token '}'
Значение
JavaScript или TypeScript не смогли проанализировать код.
Как читать
Проверьте скобки, кавычки, запятые, теги JSX и неполные выражения рядом с указанной строкой.
Пример
SyntaxError: Unexpected token '}'Пример запроса
Найдите проблему синтаксиса вокруг этой строки.
JavaScript runtime
TypeError
TypeError
TypeError: Cannot read properties of undefined
Значение
Значение не имело ожидаемой формы или поведения во время выполнения.
Как читать
Проверьте, может ли значение быть неопределенным, null, строкой вместо объекта или отсутствующей функцией.
Пример
TypeError: Cannot read properties of undefinedПример запроса
Определите, откуда берется это неопределенное значение.
JavaScript runtime
ReferenceError
ReferenceError
ReferenceError: copy is not defined
Значение
Код попытался использовать имя переменной или функции, которое недоступно в данном контексте.
Как читать
Проверьте импорты, орфографию, область видимости и объявлена ли переменная перед ее использованием.
Пример
ReferenceError: copy is not definedПример запроса
Найдите причину, по которой эта переменная не определена.
JavaScript runtime
Невозможно прочитать свойства неопределенного значения
Cannot read properties of undefined
Невозможно прочитать свойства неопределенного значения (чтение 'navLabel')
Значение
Код попытался получить доступ к свойству значения, которое не определено.
Как читать
Проверьте объект перед точкой, например, copy, locale, params или результат поиска в карте.
Пример
Невозможно прочитать свойства неопределенного значения (чтение 'navLabel')Пример запроса
Определите, какое значение является неопределенным в этой ошибке.
JavaScript runtime
не является функцией
is not a function
setOpenMenu не является функцией.
Значение
Код попытался вызвать что-то с круглыми скобками, но значение не является функцией.
Как читать
Проверьте, имеет ли параметр, импорт, результат хука или метод объекта ожидаемое имя.
Пример
setOpenMenu не является функцией.Пример запроса
Найдите причину, по которой это значение вызывается как функция.
Next.js и web
Module not found
Module not found
Module not found: Can't resolve '@/lib/error-message-guide'
Значение
Сборщик не смог найти файл или пакет, указанный в импорте.
Как читать
Проверьте, существует ли файл, правильность написания пути и указывает ли псевдоним на ожидаемую папку.
Пример
Module not found: Can't resolve '@/lib/error-message-guide'Пример запроса
Проверьте путь импорта и фактический путь к файлу.
Next.js и web
Экспорт не найден.
Export not found
Export errorMessageGuideCopy doesn't exist in target module
Значение
Имя для импорта не соответствует ни одному экспортируемому значению из целевого файла.
Как читать
Сравните импортированное имя с точным именем экспортированной константы, функции или типа.
Пример
Export errorMessageGuideCopy doesn't exist in target moduleПример запроса
Найдите несовпадающее имя импорта или экспорта.
Next.js и web
Hydration failed
Hydration failed
Hydration failed because the server rendered HTML didn't match the client
Значение
Сгенерированный на сервере HTML не соответствовал тому, что React отображал в браузере.
Как читать
Проверьте значения, используемые только в браузере, даты, случайные значения, localStorage и состояние темы, используемые во время начальной отрисовки.
Пример
Hydration failed because the server rendered HTML didn't match the clientПример запроса
Найдите вероятное несоответствие рендеринга на сервере и клиенте.
Next.js и web
404 Not Found
404 Not Found
GET /ko/reference/error-message-guide 404
Значение
Запрошенный маршрут или файл не найден.
Как читать
Проверьте папку маршрутов, generateStaticParams, атрибут href и экспортированный статический путь вывода.
Пример
GET /ko/reference/error-message-guide 404Пример запроса
Проверьте, почему этот маршрут возвращает ошибку 404.
Next.js и web
500 Internal Server Error
500 Internal Server Error
GET /ko 500
Значение
Сервер получил запрос, но произошла ошибка при его обработке.
Как читать
Просмотрите журнал терминала для того же запроса, а не только код состояния браузера.
Пример
GET /ko 500Пример запроса
Сопоставьте эту ошибку браузера 500 с ошибкой терминала, которая ее вызвала.
TypeScript и lint
Свойство не существует в типе
Property does not exist on type
Свойство 'navLabel' не существует в типе 'string'
Значение
TypeScript сообщает, что объявленный тип значения не содержит этого свойства.
Как читать
Проверьте, имеет ли значение правильный тип, правильно ли оно было индексировано и изменилась ли структура данных.
Пример
Свойство 'navLabel' не существует в типе 'string'Пример запроса
Объясните, почему TypeScript считает, что этого свойства не существует.
TypeScript и lint
Тип не может быть присвоен.
Type is not assignable
Тип 'string' не может быть присвоен типу 'Locale'.
Значение
Значение передается туда, где ожидается другой тип данных.
Как читать
Сравните фактический тип значения с ожидаемым типом, указанным после "to type".
Пример
Тип 'string' не может быть присвоен типу 'Locale'.Пример запроса
Отображать фактический тип и ожидаемый тип в этой ошибке.
TypeScript и lint
Ошибка ESLint
ESLint error
В React Hook useEffect отсутствует зависимость
Значение
Правило статического анализа обнаружило код, который может быть небезопасным, непоследовательным или нарушающим стиль проекта.
Как читать
Считывайте имя правила и строку из файла, а затем решайте, следует ли изменять код или список зависимостей.
Пример
В React Hook useEffect отсутствует зависимостьПример запроса
Объясните эту ошибку линтера и исправьте ее, не меняя поведение.
Next.js и web
Сборка не удалась
Build failed
Компиляция не удалась.
Значение
Сборка для производственной среды не удалось завершить.
Как читать
Прокрутите вверх, чтобы увидеть сводку, и найдите первую ошибку компиляции, типа, линтинга или маршрутизации.
Пример
Компиляция не удалась.Пример запроса
Определите первую критическую ошибку в этом журнале сборки.
Терминал и система
EADDRINUSE
EADDRINUSE
Error: listen EADDRINUSE: address already in use :::3001
Значение
Сервер попытался использовать порт, который уже используется другим процессом.
Как читать
Остановите старый сервер или запустите новый сервер на другом порту.
Пример
Error: listen EADDRINUSE: address already in use :::3001Пример запроса
Найдите, что использует этот порт, и предложите следующий наиболее безопасный шаг.
Терминал и система
ENOENT
ENOENT
ENOENT: такого файла или каталога не существует, открыть 'next.config.js'.
Значение
Процесс попытался открыть файл или папку, которые не существуют по этому пути.
Как читать
Проверьте текущую рабочую директорию, правильность написания имени файла, расширение и сгенерированные файлы.
Пример
ENOENT: такого файла или каталога не существует, открыть 'next.config.js'.Пример запроса
Проверьте, не отсутствует ли этот файл или выполняется ли команда из неправильной папки.
Терминал и система
Доступ запрещен
Permission denied
Операция не разрешена.
Значение
Процесс не имеет разрешения на чтение, запись или выполнение целевого файла.
Как читать
Проверьте правила песочницы, разрешения файлов, защищенные папки и требуется ли разрешение.
Заметка
Не исправляйте ошибки разрешений путем широкого изменения разрешений, если вы не понимаете целевую систему.
Пример
Операция не разрешена.Пример запроса
Объясните, почему произошла эта ошибка разрешения и какое разрешение необходимо.
Терминал и система
Команда не найдена
Command not found
zsh: command not found: next
Значение
Командная оболочка не может найти исполняемую команду с таким именем.
Как читать
Проверьте, установлены ли зависимости, следует ли использовать сценарии npm и установлен ли PATH.
Пример
zsh: command not found: nextПример запроса
Сообщите мне, следует ли мне запускать сценарий npm вместо этой команды.
Порядок отладки
Предупреждение
Warning
DeprecationWarning: module.register() is deprecated
Значение
Предупреждение указывает на то, что что-то может потребовать внимания, но может не остановить текущую команду.
Как читать
Проверьте, успешно ли завершилась команда, прежде чем рассматривать предупреждение как ошибку.
Пример
DeprecationWarning: module.register() is deprecatedПример запроса
Разделение блокирующих ошибок от некритических предупреждений в этом выводе.
Порядок отладки
DeprecationWarning
DeprecationWarning
DeprecationWarning: module.register() is deprecated
Значение
Функция все еще работает сейчас, но планируется заменить или удалить ее позже.
Как читать
Если сборка прошла успешно, зафиксируйте это как последующее действие, если только это не относится к вашему коду или необходимому обновлению.
Пример
DeprecationWarning: module.register() is deprecatedПример запроса
Сообщите мне, блокирует ли это предупреждение DeprecationWarning развертывание.
Порядок отладки
Недавнее изменение
Recent change
Ошибка началась после редактирования SiteHeader.tsx
Значение
Самое последнее связанное изменение часто является наиболее ценной подсказкой.
Как читать
Сравните местоположение ошибки с файлами, измененными в текущей задаче.
Пример
Ошибка началась после редактирования SiteHeader.tsxПример запроса
Сравните эту ошибку с файлами, которые были изменены последними.
Порядок отладки
Повторить шаг
Reproduce step
Открыть /ko, нажмите на меню языка, затем нажмите на меню сайта.
Значение
Наименьшая последовательность действий, которая вызывает повторное появление ошибки.
Как читать
Четкие шаги воспроизведения позволяют убедиться, что исправление действительно работает.
Пример
Открыть /ko, нажмите на меню языка, затем нажмите на меню сайта.Пример запроса
Преобразуйте это описание в точные шаги для воспроизведения.
Порядок отладки
Минимальный журнал
Minimal log
Строка ошибки + путь к файлу + строка стека из src
Значение
Короткий набор строк журнала, сохраняющий фактическую ошибку и ее местоположение.
Как читать
Сохраняйте первую ошибку, путь к файлу проекта, команду и краткое описание успеха или неудачи.
Пример
Строка ошибки + путь к файлу + строка стека из srcПример запроса
Сжимайте этот длинный журнал в минимальное количество строк, необходимых для отладки.