我使用名为 TestProj.Api、TestProj.Business、TestProj.Data 的项目创建了一个典型的 N 层架构解决方案。所有这 3 个项目在 VS2017 中都能很好地协同工作。
然后,我使用 Yeoman Angular .Net Core Spa 模板添加了第四个项目:TestProj.Web。该项目使用 CORS 对 TestProj.Api 进行 api 调用。我目前运行多个解决方案启动项目:TestProj.Api 和 TestProj.Web。
我开始注意到我喜欢在 VSCode 中开发 Angular,另外不确定我是否喜欢 Angular ASP.NET Core 模板。我想知道是否应该在我的解决方案之外创建 TestProj.Web。
使用这个 Angular 模板的真正优势是什么,以下是我能想到的:
1. 能够将所有内容保留在同一个 VS2017 解决方案中。 API、业务、数据、Web
2. 能够在同一个项目中拥有服务器端 Api 和 Angular(我没有利用它,因为我希望我的 API 完全独立)
还有什么我没有想到的吗?对我应该做什么有什么建议吗?
最佳答案
我认为你的点数(2)确实回答了你自己的问题:
- 能够在同一个项目中拥有服务器端 Api 和 Angular(我没有利用它,因为我希望我的 API 完全独立)
正如您所暗示的,它们不是同一个项目。它们将有不同的发布时间表、不同的编码风格/语言等。实际上,由于它们是单独的项目,因此使用不同的 IDE 管理它们就不再那么令人担忧。
事实上,我和您一样,开始尝试使用 Visual Studio 来管理 API 以及 Web 前端。然而我很快发现 Visual Studio 不擅长管理 Angular 2 前端内容。 VS Code 加上命令行窗口要容易得多。它只是更适合这项任务。试图让 Visual Studio 做到这一点就像试图让汽车变成船 - 它永远不会真正正常工作。
经历了与您相同的决策过程,并且看到使用 VS Code 和命令提示符管理 Web 代码是多么容易,我强烈建议放弃 Visual Studio 的前端。
对于后端API,Visual Studio非常强大。
关于asp.net - 如果 API 是一个单独的项目,那么使用 Yeoman .net core spa Angular 模板创建 Angular MVC 项目有什么优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43542816/