针对UI和API的两个独立解决方案



我有一个开箱即用的问题,不是为了得到一些解决方案而提出的技术性问题。

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

在某些地方,我也看到了.NET Core只有一个解决方案,而Angular应用程序也是同一Visual Studio解决方案中的一个项目。我理解的一个优点是,在后端API代码保持运行的同时,从前端调试API代码很容易。

然而,当我们在前端有Angular,在后端有WebApi时,哪一种是创建解决方案的好方法,以及为什么。对不起,我是Angular的新手,所以试图理解这种差异。如有任何帮助,我们将不胜感激。

您看到的方式(两个单独的项目,一个在angular的VS代码中,另一个在.NET CORE的Visual Studio中(是绝对正确的。

原因有很多:

1-Vscode是前端开发最好的编辑器之一,并且有很多角度插件

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

3-你可以只在前端工作,也可以只在后端工作,而不需要加载所有项目。

4-如果你需要同时处理这两个问题并调试所有堆栈,你可以在没有任何问题的情况下完成(只需在后端启用CORS(

你可以通过在configureService方法中的startupl.cs文件中放置来完成

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();

希望它能帮助你!

最新更新