我有一个开箱即用的问题,不是为了得到一些解决方案而提出的技术性问题。
我在许多地方看到,开发人员正在使用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();
希望它能帮助你!