node.js - azure 中的前端和后端分离

标签 node.js azure azure-web-app-service

我正在开发一个简单的网站,由 Angular 前端和简单的 NodeJS 后端组成。我目前看到有 3 种设置项目的方法:

  • 有 1 个 Web 应用程序用于提供静态 HTML,1 个 Web 应用程序用于 NodeJS 后端
  • 使用同一个 NodeJS 实例提供 REST API 和静态文件
  • 我阅读了有关 Azure Web Apps 虚拟目录的信息,但无法找到合适的文档。这是否是一个可行的解决方案?

Azure 使用的标准设置是什么?有没有我错过的深入文档?

最佳答案

我想说,这是一种很难得到答案的问题,因为有人可以就这个主题写一整本书,而且很多方面都是个人喜好、方法等问题。

在尝试给出第一个答案之前,我想指出,我根本不熟悉 Node.js,但我对 Azure AppService 和 ASP.Net Core MVC 相当熟悉。

Azure AppService(本例中为网站)中没有标准设置,实际上您提到的所有 3 个选项都是有效的。根据我使用 Azure AppService 的经验,我认为当您拥有公开可用的 API 时,选项一比较合适。在这种情况下,您还可以使用 Azure 管理 API 注册您的 API。

在我看来,当您的前端是 API 的唯一使用者时,第二个选项最合适。

第三种选择并不常见,但 100% 可能。 Here是一篇非常好的文章,介绍了如何设置虚拟目录以及如何使用 Visual Studio 将应用程序部署到其中。我不确定如何使用您可以使用的工具来完成此操作,但从概念上讲,这应该是可能的。但是,在虚拟目录中部署 NODE.js 项目可能会导致一些问题,您应该做好准备。更多信息here

但是,我会坚持我在开始时所说的:如果我的 Angular 应用程序是 API 的唯一使用者,我会将后端和前端部署到同一个 Web 应用程序,如果我的 API 我会部署到 2 个不同的 Web 应用程序是公开的。

我很好奇其他人在这方面会怎么想。

关于node.js - azure 中的前端和后端分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43957726/

相关文章:

node.js - 如何在linux中安装node.tar.xz文件

azure - TERRAFORM 如何在子网上设置 count.index 以检索 network_security_group_id

azure - Linux 机器上的 rm -rf 速度慢

azure - 是否可以在 Azure 中设置一个连接到多个本地数据库的 Web 应用程序?

python - Azure 免费网站与 Python Django 未运行

mysql - docker-compose nodejs 在运行 docker composer 时出错。 MySQL ER_NOT_SUPPORTED_AUTH_MODE

node.js - Docker 和 Rabbitmq : ECONNREFUSED between containers

html - 电子邮件模板中的剪贴板功能

excel - 如何使用 Azure 逻辑应用将推文插入 Excel 文件

azure - 如何确定Azure中应用程序服务计划CPU百分比100%的原因?