天蓝色的前端和后端分离

时间:2017-05-13 20:32:54

标签: node.js azure azure-web-sites

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

  • 有1个Web App为NodeJS后端提供静态HTML和1个Web App
  • 使用相同的NodeJS实例提供REST API和静态文件
  • 我阅读了有关Azure Web Apps的虚拟目录,但无法找到相应的文档。这甚至是一个可行的解决方案吗?

用于Azure的标准设置是什么?我错过了任何深入的文件吗?

1 个答案:

答案 0 :(得分:2)

我想说这是一个很难得到答案的问题,因为有人可以写一本关于这个主题的书,很多方面都是个人偏好,方法等问题。

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

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

在我看来,第二个选项最适合您的前端是API的唯一消费者。

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

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

我很好奇其他人在这方面的想法。