2

我在 Github 存储库中有一个 webapp,它有一个 Angular 客户端和一个 Node Express 后端服务器。我不知道如何将这些同时部署到 Azure webapp。没有任何教程涵盖这一点。他们告诉你唯一要做的就是在根目录中有一个 index.html 或一个 server.js,这不是我的应用程序的结构。

但是我确实尝试将服务器移动到根目录中的 server.js ,然后那里什么也没发生。

我不知道从哪里开始。非常感谢您的帮助。

告诉我您还需要什么信息,因为我不知道,而且这方面的文档为零。

更新:这些似乎都不起作用。我尝试将虚拟路径切换/到所在的 dist 文件夹index.html,但这并没有做任何事情。

4

2 回答 2

0

看起来你也在 MSDN 上打开了一个关于这个问题的线程https://social.msdn.microsoft.com/Forums/azure/en-US/a6cbc494-dc42-4962-99c7-947cee7ff25a/nodejs-deploying-angular- spa-application-node-server-through-github-continuous-integration?forum=windowsazurewebsitespreview

Azure 上的 Node.js 应用程序应该在应用程序的根目录中有一个app.js或一个。server.js

所以这是一个解决方法,如果您希望 dist 文件夹中的 Angular 应用程序充当 Web 应用程序的前端,而 expressjs 应用程序充当后端服务。

您也可以将 express js 应用程序部署在根目录中,并将 angular app 文件夹部署在同一根目录中。然后您可以在 exrepssjs 路由中配置 Angular 应用程序。例如

假设您的 Angular 应用程序入口index.html位于dist根目录的文件夹中:

app.get('/', function(req, res) {
    res.sendfile(__dirname+'/dist/index.html')

}); 

这会将“/”路由到您的角度应用程序。

于 2016-03-03T05:23:51.513 回答
0

为了解决您的问题,我建议您查看有关复数视觉的 shayne boyer 和 john papas 课程。他们很好地解释了这个话题。 逐个播放 angular-2-app-deployment

我自己从那里开始,但必须进行一些调整才能使其充分发挥作用。

诀窍是在本地构建文件并将构建文件提交到单独的文件夹(dist)中。

您还需要添加:

  1. server.js 文件。server.js的要点 (就像你提到的那样)
  2. package.json 文件。要点到pacakge.json。这是告诉 azure 使用哪个节点和 npm 版本。
  3. 添加 web.config。要点到web.config

如果您希望您的应用程序在提交时自动部署,您需要设置一个gitook。单击链接获取说明。此外,为了让 githook 工作,您需要在名为“Project”的 azure Web 应用程序中声明一个 APP-settings variabele,其值等于您的构建文件夹(在我的情况下为 =dist。)。

我有一个 ng2 存储库,其中包含 azure 中的工作演示Ng2a .前端。你可以在那里找到 dist 文件夹。

于 2016-11-16T12:11:17.750 回答