这是将WebApi作为单独项目托管的最佳实践

Rav*_*tal 10 asp.net-web-api angularjs single-page-application

我正在使用Web Api和Angular JS开发单页应用程序.我想抓住一个伟大的水疗应用程序的所有最佳实践.

我想知道这是将Web Api项目作为单独项目托管的最佳实践,或者只是与您的spa一起包含在同一个项目中.

谢谢

mas*_*plo 12

我相信你最好的选择是将SPA放到一个单独的项目中,甚至更好地建立一个不同的存储库,因为它更灵活,支持许多不同的开发/部署方案,特别是当你的项目变得更大时.

我个人开始使用混合文件方法,并在项目超出Todos示例的大小几天后转移到单独的Repos方法.

拥有单独项目/回购的一些优点是:

  • 更好的搜索/替换搜索上下文或转到文件/类.
  • 每个项目/解决方案的文件更少,因此视觉工作室不会跪倒在地.
  • 如果你在那里获得比在VS(例如webstorm)更好的javascript/typescript支持,你可以更容易地为你的spa项目使用不同的编辑器.
  • 文件结构在小型解决方案资源管理器窗口中更易读,因为嵌套较少
  • 不同的人可以在前端/后端独立工作
  • 您的SPA可以拥有自己的版本,您可以根据需要混合和匹配FE/BE版本
  • 更简单的持续集成,因为您不混合前端/后端构建步骤
  • 您可以在部署时确定它们是否将托管在
    同一主机或不同的计算机上(启用CORS支持后)
  • 最后,它使您的SPA成为一流的公民,而不仅仅是您的网络API的子文件夹.

另一方面,我无法想到将SPA作为WebApi的子文件夹的任何优点,除非您希望将复杂性降至最低的非常小的项目.

  • +1.要增加一个,随着您的增长,您的API可能会有更多客户端,SPA将只是其中之一.因此,您可以将iphone/android代码保存为单独的代码库,这同样适用于您的SPA. (4认同)