Angular6 部署并托管.net core 2.0和angular 6应用程序 简介:

Angular6 部署并托管.net core 2.0和angular 6应用程序 简介:,angular6,hosting,asp.net-core-2.0,web-deployment,Angular6,Hosting,Asp.net Core 2.0,Web Deployment,目前,我有两个独立的项目。 一个解决方案是针对.NET核心Web API 2.0的,另一个项目是Angular 6 app 我无法将其部署到我的主机提供商(asphostsportal)。 它由一个根文件夹httpdocs组成,当我发布API时,我会在其中复制发布文件夹的内容 通过FTP传输文件后,我通过发送请求并获得响应来确认API是否正常工作 现在我需要发布我的角度项目。 最简单的方法是使用ng build,我在dist中获得一些文件夹 问题: 若我将dist中文件夹的内容传输到服务器上的根

目前,我有两个独立的项目。 一个解决方案是针对.NET核心Web API 2.0的,另一个项目是Angular 6 app

我无法将其部署到我的主机提供商(asphostsportal)。 它由一个根文件夹httpdocs组成,当我发布API时,我会在其中复制发布文件夹的内容

通过FTP传输文件后,我通过发送请求并获得响应来确认API是否正常工作

现在我需要发布我的角度项目。 最简单的方法是使用ng build,我在dist中获得一些文件夹

问题: 若我将dist中文件夹的内容传输到服务器上的根文件夹httpdocs,它将找不到任何页面,但API仍然可以工作

如果我将整个文件夹传输到httpdocs中,并将服务器主机设置设置为将文档根目录定义到该文件夹:

它将找到index.html并显示我的登录页。 然而,那个么API将不起作用

如果我保持原样,将文档根目录更改回httpdocs(API文件所在的位置),但将index.html从httpdocs/website推送到httpdocs(在本例中,我还编辑index.html以指向网站文件夹以获取资源等),希望它能找到它(服务器IIS设置)

没有。之后,我的API又开始工作了。但是,找不到登录页

仅供参考,我没有任何额外的startup.cs代码行与静态文件有关,也没有API项目上的publish命令创建wwwroot文件夹()

编辑(解决方案): 好吧,我开始工作了

1) 我在API的Configure method of Startup.cs中添加了两行代码

  app.UseDefaultFiles();
  app.UseStaticFiles(); // For the wwwroot folder
根据 使用UseDefaultFiles,对文件夹的请求搜索:index.html

2) 我手动添加了wwwroot文件夹,由于某种原因,在发布API项目的命令时没有生成该文件夹。 3) 在那个文件夹中,我复制了我的dist/网站发布文件的所有内容

现在成功了,干杯