反应| Package.Json | “代理”在Google App Engine中不起作用

时间:2019-10-11 16:07:19

标签: node.js reactjs express google-app-engine

我用“ create-react-app”和一个简单的Express服务创建了一个基本的React应用。在react应用程序中,我向指向Express服务URL的Package.json文件添加了“代理”。

 "proxy": <EXPRESS URL HERE>

在本地测试时,React通过代理调用Express,一切正常。当我部署到Google App Engine时,代理不起作用。我使用本地React实例测试了Express服务(在App Engine上),并且一切正常。当我将React应用部署到App Engine时(运行NPM RUN BUILD之后),代理无法正常工作。

我观看了有关使React / Express与'proxy'一起工作的视频:https://youtu.be/8bNlffXEcC0

1 个答案:

答案 0 :(得分:2)

该设置仅适用于https://create-react-app.dev/docs/proxying-api-requests-in-development

对于生产,您将需要Express来提供Express API和React构建。您可以在快速代码中使用类似的方法来做到这一点:

app.use(express.static(`${__dirname}/../build`)) // serves the react build
app.use('/api', apiRouter) // your api code

现在,当您启动Express服务器时,它将立即提供您的API和构建代码。