Прокси-интерфейс HTTP-вызовов в разработке - PullRequest
1 голос
/ 10 марта 2019

Я создаю небольшой сайт.Бэкэнд написан на Kotlin и использует Spring boot , а интерфейс встроен в Elm .

Сгенерированный javascriptприложение будет статически обслуживаться моим бэкэндом при развертывании.

В настоящее время для разработки я работаю так:

  • Служу моему весеннему загрузочному приложению на localhost: 8080
  • Служите моему приложению Elm на b, используя create-elm-app

Основная причина в том, что create-elm-app допускает горячая компиляция и горячая перезагрузка приложения Elm , что делает его очень удобным.

Проблема в том, что мне нужно настроить все мои http-вызовы elm на другой порт локально, что означает, что я должен изменить код для производства.

В идеале я хотел бы:

  • Либо есть живая перекомпиляция изменяемого кода вяза (яиспользовал chokidar в узле, но не нашел прямой альтернативы Java) в сочетании с горячей перезагрузкой пружинного башмака
  • Create-elm-app перенаправляет мои вызовы API
  • или автоматически проксирует все мои вызовы в другое место через стороннего поставщика

Кто-нибудь сталкивался с этим?Какую настройку вы бы порекомендовали?

Cheers,

1 Ответ

1 голос
/ 10 марта 2019

Хорошо, использование слова proxy действительно помогло!

Кажется, что документация create-elm-app уже ожидает такой вариант использования.Вы можете прочитать больше об этом здесь .

В основном необходимо сделать следующее:

  • Создать файл elmapp.config.js в корне проекта elmсо следующим содержимым (в моем случае вы можете адаптироваться):
module.exports = {
    proxy: "http://localhost:8080",
}

Затем в своем коде elm используйте абсолютные URL-адреса.Например:

makeCreateGameUrl : Model -> String
makeCreateGameUrl model =
    absolute
        [ "game" ]
        [ string "players" (joinListOfStrings model.newPlayerNames) ]

После этого ваши вызовы API будут напрямую перенаправлены на ваш бэкэнд.

...