【问题标题】:Proxy front-end HTTP calls in development开发中的代理前端 HTTP 调用
【发布时间】:2019-03-09 21:20:15
【问题描述】:

我正在建立一个小型网站。后端用Kotlin编写,使用Spring boot,前端用Elm构建。

生成的 javascript 应用程序将由我的后端在部署时静态提供。

为了开发,我目前是这样工作的:

  • localhost:8080 上提供我的 Spring Boot 应用程序
  • 使用create-elm-app 在 b 上提供我的 Elm 应用程序

主要原因是 create-elm-app 允许 Elm 应用的热编译和热重载,非常方便。

这样做的问题是我必须在本地针对另一个端口设置我的所有 elm http 调用,这意味着我必须更改生产代码。

理想情况下,我想:

  • 要么对发生变化的 elm 代码进行实时重新编译(我在 node 中使用了 chokidar,但没有找到直接的 java 替代方案),并与 spring boot 热重载相结合
  • 让 create-elm-app 重定向我的 API 调用
  • 或通过第三方将我的所有呼叫自动代理到另一个位置

有人有这方面的经验吗?你会推荐什么设置?

干杯,

【问题讨论】:

标签: spring spring-boot kotlin proxy elm


【解决方案1】:

好的,使用代理这个词确实有帮助!

create-elm-app 文档似乎已经期待这个用例。你可以阅读更多about it here

基本上需要做的是:

  • 在elm项目的根目录下创建一个elmapp.config.js文件,内容如下(在我的情况下,你可以适应):
module.exports = {
    proxy: "http://localhost:8080",
}

然后,在您的 elm 代码中,使用绝对 URL。例如:

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

在此之后,您的 API 调用将直接重定向到您的后端。

【讨论】:

    猜你喜欢
    • 2016-06-14
    • 1970-01-01
    • 2012-05-31
    • 2020-04-06
    • 2020-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-17
    • 1970-01-01
    相关资源
    最近更新 更多