开发中代理前端 HTTP 调用

Proxy front-end HTTP calls in development

我正在建立一个小型网站。后端用Kotlin编写,使用Spring boot, and the front-end is built in Elm.

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

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

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

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

理想情况下,我想:

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

干杯,

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

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 调用将直接重定向到您的后端。