В настоящее время я делаю приложение с Next.js 8.0.3
.
Все хорошо в местном.Однако у меня возникают некоторые проблемы при развертывании приложения с использованием Caddy.
О моей части Next.js я использую пользовательский сервер и для обслуживания этого сервера я делаю это:
next build
NODE_ENV=production node server.js
Сама проблема заключается в маршрутизации приложения на подпуть, например /beta
, для запуска всего приложения внутри этого подпути.
Caddyfile
localhost:8000
proxy /beta http://localhost:3000/
Когда язапустите приложение, открыв в браузере http://localhost:8000/beta
, HTML-код загружен правильно, но не загружены все стили, ресурсы и файлы JavaScript.Нет навигации между страницами.Он смотрит эти файлы за /
, а я ожидал за /beta
.
Копирование URL, который не удается, и попытка найти правильный путь с добавлением /beta
, файлов там тоже нет ...
Тем не менее, без подпути /beta
(если я использую напрямую root /
) все работает нормально.Но это не то решение, которое я ищу, потому что у меня больше приложений, работающих за одним доменом.
Существует обходной путь, решающий этот конкретный пример.Есть прокси также /_next
и /static
.Но это не хорошее решение для меня по разным причинам:
- Невозможно запустить более 1 приложения Next.js, например
/beta
, /alpha
. - ЭтоРешение не исправляет навигацию между страницами.
- Я хочу исправить это (если это возможно) в части Next.js, а не в части Caddy, делая обходной путь.
Похоже, что-то касается части Next.js.Но я совершенно растерялся по этому поводу.Я попытался изменить assetPrefix: '/beta'
, а затем ищет файлы на /beta/file
вместо /file
.Но файлов там тоже нет ... ?
Кто-нибудь может мне помочь?