在 Azure App Service 中部署前端和后端应用程序的最佳方式是什么?

What is the best way to deploy front end and back end application in Azure App Service?

我们正在使用 Reactjs 开发前端应用程序,并分别使用 Nodejs 开发后端应用程序,但我不太熟悉 Azure 应用程序服务中后端的部署工作方式。我已经成功部署了我们的前端,它现在已启动并 运行 正在应用服务 URL 中,但我不确定如何处理后端。我们的前端和后端代码位于两个不同的 repo 中,并且有两个不同的管道。以下是更多详细信息:

前端代码(Reactjs、Typescript) - 1 个单独的存储库,1 个单独的管道,成功部署在不同的应用程序服务中 URL(但访问被拒绝因为需要和后端通信)

管道任务(npm 安装、npm 运行 构建、发布构建工件)

后端代码 (Nodejs) - 1 个单独的存储库,1 个单独的管道,已部署但不在不同的应用程序服务中工作 URL

管道任务(npm 安装、存档文件、发布构建工件)

我创建的这两个应用服务(类型:Web 应用)具有相同的应用服务计划。现在我不知道当我们的前端代码调用后端时,后端如何运行。

我做的是否正确,或者你知道我的后端如何在后台结束 运行 吗?

尝试在您的 nodejs 后端 app.js 文件中使用 cors,可能是阻止前端应用程序访问后端的原因。

一般我们做的是:

  1. 在单独的应用服务上部署前端应用、React、angular 等。
  2. 并且,nodejs 应用在不同的应用服务上。
  3. 然后,从前端调用 nodejs 应用程序的 api。

或者,

我们使用 gulp 文件在同一台服务器上设置和 运行 客户端和服务器,并将该项目部署到应用服务上。在那种情况下,没有 cross-site 通信。这是最喜欢的。