部署和托管 .net core 2.0 和 Angular 6 应用程序

2023-12-25

Intro:

目前,我有两个独立的项目。 一种解决方案是针对 .NET core Web API 2.0,另一个项目是 Angular 6 应用程序。

我在将其部署到我的托管提供商( asphostsportal )时遇到问题。 它由一个根文件夹 httpdocs 组成,当我发布 API 时,我会复制发布文件夹的内容。

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

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

Problem:

如果我将 dist 内文件夹的内容传输到服务器上的根文件夹 httpdocs 它找不到任何页面,但 API 仍然有效。

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

它会找到index.html并显示我的登陆页面。 但是这样 API 将无法工作。

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

事实并非如此。之后我的 API 再次开始工作。但是,找不到着陆页。

仅供参考,我没有任何与静态文件有关的额外的startup.cs代码行,我在API项目上的发布命令也没有创建wwwroot文件夹(就像这里提到的 https://stackoverflow.com/a/49126167/6206185)

编辑(解决方案):

好的,所以我开始工作了。

1)我在API的Startup.cs的Configure方法中添加了2行代码

  app.UseDefaultFiles();
  app.UseStaticFiles(); // For the wwwroot folder

哪里根据“使用 UseDefaultFiles,请求文件夹搜索:index.html”

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

现在它可以工作了,干杯!


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

部署和托管 .net core 2.0 和 Angular 6 应用程序 的相关文章

随机推荐