部署 EmberJS 前端应用程序

Deployment of EmberJS frontend application

我计划将我的应用程序分成两层。一个是 API Rest 层,由 Ruby 支持,另一个是前端,使用 EmberJS,都在 Azure Cloud 中。

对于 API 层,没关系,我们将使用 Azure Web App,这是一个基于 Ruby 安装的容器。

但对于前端我不确定。

一种方法是使用基于 NodeJS 的 Web 应用程序,但是,EmberJS 文件应该以静态方式提供,因此我正在考虑将其部署在 Azure Blob 存储上。

部署需要 NodeJS 服务器?据我所知,我们只使用 NPM 等 NodeJS 实用程序进行数据包管理,而不是为应用程序提供服务。

任何人都可以给我一个提示,好吗?

这个问题是一个广泛的问题,不适合 Whosebug,

简单的答案是使用 Azure App Services 并在 nodejs 或 ASP.NET 核心和后端 ruby 上托管您的前端,因为现在我们支持 Linux 容器。

查看此博客,了解如何创建 Ruby 后端:https://docs.microsoft.com/en-us/azure/app-service/containers/quickstart-ruby

查看此博客以了解如何创建前端应用程序:https://docs.microsoft.com/en-us/aspnet/core/tutorials/publish-to-azure-webapp-using-vs

无论您对 EmberJs 使用什么,Node 和 ASP.NET 核心都为轻松开发任何前端应用程序提供了出色的支持。我个人更喜欢 ASP.NET Core 这是帮助您入门的视频教程:https://www.youtube.com/watch?v=KAMuo6K7VcE

在 Azure 应用服务(Windows 平台)上托管的所有用 .NET Node.js、Python 或 PHP 编写的应用程序是 运行 在 Microsoft IIS 上。 Azure 应用服务可以正确处理这些语言,因为它已经安装了运行时,并且在名为 web.config 的 IIS 配置文件中设置了相应的 CGI 处理程序。如果您没有任何 CGI 配置,那么 Azure 也会将您的所有应用程序文件作为静态内容提供。

因此,在这种情况下,您需要在本地使用命令 ember build --env production build the Ember.js App,然后将所有构建的文件放入 Azure 中 IIS 的虚拟目录 D:\home\site\wwwroot

另请参阅:

在后端我使用 WebApp,在前端我们使用 Azure Blob,因为 EmberJS 将使用 https://www.npmjs.com/package/ember-cli-deploy-azure-blob 托管静态内容。 它工作得很好 :D,现在 Azure Blobs 能够配置默认文档,例如 index.html,与 AWS S3 完全相同,终于。