我正在开发一个简单的网站,由 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/