使用代理进行 Angular 的 API 调用

问题描述 投票:0回答:1

我的后端使用 dot-net,前端使用 angular。 到目前为止,我曾经分别创建前端和后端。当然我应该处理跨源问题,以便前端可以与后端通信。 最近我使用了 (ASP.Net Core With Angular) 模板,而不是单独创建我的角度项目。我在我的后端解决方案中将其创建为一个项目。 在此模板中,您会看到 Visual Studio 使用一些额外的文件为您创建了一个 Angular 项目,并直接为您提供了一个 Controller 文件夹。 在此模板项目中,您会在名为:(proxy.conf.js) 的文件中看到一个代理,您可以在没有跨域问题的情况下调用您的后端。但是我读到这仅适用于本地测试。 它使用一个服务器,这个保护程序是基于 Webpack 开发服务器的。 我从这篇文章中读到它: https://juristr.com/blog/2016/11/configure-proxy-api-angular-cli/

我打算稍后在 Azure 中的 Webapp 中托管我的解决方案。

我的问题: 1- 哪种方法更好,是创建一个单独的 Angular 项目并单独托管它,还是使用 Visual Studio 中的(ASP.Net Core With Angular)模板?为什么?

2-假设我使用(ASP.Net Core With Angular)模板,在这种情况下代理仅用于本地测试,对吗?如果是,您认为删除代理并进行本地测试以及稍后在我的后端使用跨域策略是个好主意吗?

asp.net angular webpack-dev-server
1个回答
0
投票

使用代理对本地测试和生产都有好处

但对于生产,您应该考虑性能更高的代理,例如 nginx(它也可以服务于 Angular 项目)

CORS 会使您的网站变慢,因为浏览器需要在每次请求之前进行飞行前请求,这会以某种方式使从 API 获取数据的时间加倍

© www.soinside.com 2019 - 2024. All rights reserved.