angular - UI 和 API 的两个独立解决方案

标签 angular visual-studio api

我有一个非技术性的开箱即用问题,无法找到解决方案。

我在很多地方看到开发人员正在使用 Visual Studio Code 创建单独的 Angular 应用程序项目,并使用 Visual Studio 2019 IDE 为 .NET Core Web API 应用程序创建单独的项目。

我还发现在某些地方只有一种 .NET Core 解决方案,而我们也将 Angular 应用程序作为同一 Visual Studio 解决方案中的项目之一。我理解的一个优点是可以很容易地从前端调试 API 代码,同时后端 API 代码保持运行。

但是,当我们在前端使用 Angular,在后端使用 Web Api 时,哪一种是创建解决方案的好方法以及原因。抱歉,我是 Angular 的新手,所以试图理解这种差异。任何帮助将不胜感激。

最佳答案

您看到的方式(2 个独立的项目,一个在 Angular 的 VS 代码中,一个在 Visual Studio for .NET CORE 中)是绝对正确的。

原因有很多:

1 - Vscode 是前端开发的最佳编辑器之一,并且有大量 Angular 插件

2 - Visual Studio 。是 .NET 和 .NET 核心项目的最佳 IDE,具有漂亮的智能感知和许多其他 IDE 中找不到的功能。现在您也可以在 MAC 上使用它(https://visualstudio. microsoft.com/it/vs/mac/) ..但是对于前端来说它不如 vscode

3 - 您可以仅在前端或仅在后端工作,而无需加载所有项目。

4 - 如果您需要同时处理两者并调试所有堆栈,您可以毫无问题地完成(只需在后端启用 CORS)

您可以通过将此代码放入您的startupl.cs文件中的configureService方法put中来做到这一点

services.AddCors(options =>
            {
                options.AddPolicy("AllowAllOrigins",
                    builder =>
                    {
                        //builder.WithOrigins("https://yoursite.com",
                        //    "https://stage.yoursite.com",
                        //     
                        //    "https://www.yoursite.com");
                        builder
                                                .AllowAnyOrigin()
                        .AllowAnyHeader()
                        .AllowCredentials()
                        .WithExposedHeaders("Content-Disposition")
                        .AllowAnyMethod();
                    });
            });

然后在您的Configure方法中

 app.UseCookiePolicy();

            app.UseCors("AllowAllOrigins"); //<-- USE IT
            app.UseAuthentication();

希望对你有帮助!

关于angular - UI 和 API 的两个独立解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61605787/

相关文章:

visual-studio - 在解决方案资源管理器中禁用拖放

.net - 在 Windows 7 或 Vista 上安装 Visual Studio 2002

python - Visual Studio fatal error C1510 : Cannot load language resource clui. dll。安装 Pandas 时

python - 是否存在播放 deezer 歌曲的 python 方法?

rest - Jmeter:- 如何在 "Jmeter"中并发/顺序发送多个请求,每个请求的值设置不同?

angular - 服务不在模块之间共享

json - 在 ionic 中迭代 JSON 数组显示所有数据

angular - 从另一个组件 Angular 获取值 4

javascript - 为什么我的微 API 没有响应体?

node.js - Gitlab 运行程序在运行 lint 命令时超时