Код: Выделить всё
next dev). Однако после создания проекта (next buildКод: Выделить всё
next startНастройка:
< ul>
[*]Next.js 14
[*]Автономная версия начинается с узла .next/standalone/server.js
< li>Переменные среды передаются как во время сборки, так и во время сборки. время выполнения, например:
Код: Выделить всё
NEXT_PUBLIC_API_URL=http://localhost:3000 HOSTNAME="0.0.0.0" node server.js
Проблемы:
-
Белая главная страница:
- Главная страница (или /en) показывает полностью белый экран, а HTML-код отображается неправильно (в инспекторе видны только теги ).
Код: Выделить всё
/de
< li>В консоли браузера появляются следующие ошибки: - (хотя переменная устанавливается как во время выполнения, так и во время сборки).
Код: Выделить всё
Specify NEXT_PUBLIC_API_URL in your .env file - Файлы JavaScript () отображаются правильно, но страница не отображается.
Код: Выделить всё
.next/static
< /li> - Главная страница (
- Проблемы с маршрутизацией:
- Когда я посещаю /de/someinvalidroute, я получаю перенаправление ошибка цикла:
"Страница не перенаправляется должным образом". - Для например, маршрут /de/someinvalidroute перенаправляет на /de/de, затем на /de/de/de и так далее.
- Автономная установка:
Я собираю проект локально, используя следующую сборку< /code>, а затем скопируйте содержимое папки .next/standalone в папку сервер. Сервер запускаю с помощью узла server.js. - Все необходимые файлы (, public и т. д.) копируются правильно, а переменные среды установлены.
Код: Выделить всё
.next/static
Я пробовал: - Когда я посещаю /de/someinvalidroute, я получаю перенаправление ошибка цикла:
- Очистил кеш сборки и пересобрал:
Код: Выделить всё
rm -rf .next next build - Задайте переменные среды во время сборки:
Код: Выделить всё
NEXT_PUBLIC_API_URL=http://localhost:3000 next build - Скорректированное промежуточное ПО:
- Я настроил next-intl< /code> промежуточное программное обеспечение для исключения статических файлов:
Код: Выделить всё
export const config = { matcher: ['/((?!_next/static|_next/image|favicon.ico|images|api).*)'], };
- Я настроил next-intl< /code> промежуточное программное обеспечение для исключения статических файлов:
- Локальная отладка:
< ul>
Я создал простую тестовую страницу (), который не работает:Код: Выделить всё
pages/test.jsКод: Выделить всё
export default function Test() { return Test page is working!; } - Я не могу перейти ни на какую другую страницу, кроме главной страницы в /de или /en, иначе меня перенаправят .
- Очистил кеш браузера:
- Проверено в режиме инкогнито, кеш браузера очищен, но белые страницы и ошибки консоли сохраняются.
- Использование стандартного вывода сборки, а не автономного:
- Я уже пытался собрать проект без опции автономного вывода. Тоже не работает.
- Почему переменные NEXT_PUBLIC_* не распознаются браузером, хотя они устанавливаются как во время сборки, так и во время выполнения?
- Как могу ли я исправить цикл перенаправления () проблема?
Код: Выделить всё
/de/de/de - Почему главная страница остается пустой, хотя HTML-код отображается правильно?
- Известны ли проблемы с Next.js 14, next-intl или автономный режим, который может быть здесь уместен?
Подробнее здесь: https://stackoverflow.com/questions/793 ... in-browser