Имя этапа развертывания не добавляется к URL-адресу шлюза API и вызовам API - PullRequest
0 голосов
/ 08 апреля 2019

Я работал над созданием приложения React на стороне сервера. Я наткнулся на Next.js, и он, кажется, хорошо служит моей цели.

Приложение, которое я написал, содержит несколько URL-адресов на домашней странице, нажатие на любую из которых приведет к другой странице.

Например, если мой локальный сервер работает на порту 3000, и существует гиперссылка Dogs - которая перенаправляет на http://localhost:3000/dogs - он работает нормально. Я построил свое приложение, используя «следующую сборку» для развертывания.

Однако после того, как я развернул свое приложение, используя Scandium, с именем этапа в качестве - 'default', перенаправление на страницу Dogs не работает, т.е. мой API развернут по адресу https://wznim1ehcc.execute -api.us-east -2.amazonaws.com/default, нажатие на страницу с собаками должно привести к https://wznim1ehcc.execute -api.us-east-2.amazonaws.com / default / dogs , но фактически оно перенаправляет на https://wznim1ehcc.execute -api.us-east-2.amazonaws.com / dogs - сценическое имя не добавляется.

Даже если я вручную перехожу на https://wznim1ehcc.execute -api.us-east-2.amazonaws.com / default / dogs , я вижу серверный HTML и CSS, но он не может сделать требуемые вызовы API для получения изображений. Например: после проверки путем проверки вкладки сети «Проверка элемента», чтобы показать изображения, отправленные вызовом, является https://wznim1ehcc.execute -api.us-east-2.amazonaws.com / _next / static / lftZapS7NBuFYCIfncOTk / pages / dogs.js , что не удается.

Однако, добавив к этому имя сцены и изменив вызов на https://wznim1ehcc.execute -api.us-east-2.amazonaws.com / default / _next / static / lftZapS7NBuFYCIfncOTk / pages / dogs.js возвращает ответ.

Похоже, сценическое имя не добавляется в URL-адреса и вызовы API, следовательно, запросы не выполняются.

Я не могу отладить, почему это происходит. Я не уверен, есть ли какая-то ошибка из-за рендеринга Next.js на стороне сервера или из-за ошибок в настройках API Gateway.

Любая помощь будет оценена. Спасибо!

Вы можете найти то, что я сделал по адресу: https://github.com/saumyadoshi/serverless-side-rendering-react-next

Вы можете просто загрузить репозиторий, запустить 'npm install', чтобы установить все зависимости, выполнить 'npm run build', чтобы создать производственную сборку.

Вы можете установить Scandium глобально, используя 'npm install --global scandium' (я не добавил его в package.json).

Предполагая, что у вас есть конфигурации AWS, просто запустите 'scandium create', и он сделает все необходимое и вернет конечную точку шлюза API, где она развернута.

...