Как я могу развернуть приложение Next.js, используя Caddy и подпуть? - PullRequest
0 голосов
/ 07 марта 2019

В настоящее время я делаю приложение с 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.

devtools

Копирование URL, который не удается, и попытка найти правильный путь с добавлением /beta, файлов там тоже нет ...

file

Тем не менее, без подпути /beta (если я использую напрямую root /) все работает нормально.Но это не то решение, которое я ищу, потому что у меня больше приложений, работающих за одним доменом.

Существует обходной путь, решающий этот конкретный пример.Есть прокси также /_next и /static.Но это не хорошее решение для меня по разным причинам:

  1. Невозможно запустить более 1 приложения Next.js, например /beta, /alpha.
  2. ЭтоРешение не исправляет навигацию между страницами.
  3. Я хочу исправить это (если это возможно) в части Next.js, а не в части Caddy, делая обходной путь.

Похоже, что-то касается части Next.js.Но я совершенно растерялся по этому поводу.Я попытался изменить assetPrefix: '/beta', а затем ищет файлы на /beta/file вместо /file.Но файлов там тоже нет ... ?

Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 07 марта 2019

Будет ли это работать

localhost:8000

proxy /beta http://localhost:3000/beta 
...