路由:在 AngularJS 或 .NET MVC 中?
Routing: in AngularJS or .NET MVC?
我们正在开始对大型 WebForms 应用程序进行重大升级。逻辑将在前端的 AngularJS 和后端的 .NET MVC 之间拆分。放置路由的标准是什么?我可以放在服务器上RouteConfig.cs,让.NET负责路由;或者我可以在客户端使用 ng-route,并且只使用对服务器的 WebApi 调用。
我看到了两种方式的利弊,我想知道是否有人有任何决策标准。或者我错过的一些文章(Google 有很多关于实施路线的文章;但没有关于选择一个而不是另一个的决定)。
我主张完全分离关注点,因此在客户端进行路由。在客户端进行路由使客户端可以控制显示的内容。服务器将仅通过 rest 提供原始数据。
这也让您在未来有更大的灵活性。假设 2 年后您想放弃 Angular 以使用下一个新的客户端框架。您所需要的只是客户端开发人员来实现 UI 调用现有端点,不需要修改服务器代码。想要远离 .NET 后端?没问题,只需在新框架中实现端点,而不是客户端可能需要更改。
您应该同时使用这两者,因为您的应用程序很大。
假设您的屏幕是根据规则划分的。
当管理员登录时,您将加载与该功能相关的所有文件,然后利用 ng-view 并将该功能作为单页应用程序。
所以用这种方式你不需要一次加载所有文件。通过 ng-view 你还可以在不同的屏幕之间共享数据。
我们正在开始对大型 WebForms 应用程序进行重大升级。逻辑将在前端的 AngularJS 和后端的 .NET MVC 之间拆分。放置路由的标准是什么?我可以放在服务器上RouteConfig.cs,让.NET负责路由;或者我可以在客户端使用 ng-route,并且只使用对服务器的 WebApi 调用。 我看到了两种方式的利弊,我想知道是否有人有任何决策标准。或者我错过的一些文章(Google 有很多关于实施路线的文章;但没有关于选择一个而不是另一个的决定)。
我主张完全分离关注点,因此在客户端进行路由。在客户端进行路由使客户端可以控制显示的内容。服务器将仅通过 rest 提供原始数据。
这也让您在未来有更大的灵活性。假设 2 年后您想放弃 Angular 以使用下一个新的客户端框架。您所需要的只是客户端开发人员来实现 UI 调用现有端点,不需要修改服务器代码。想要远离 .NET 后端?没问题,只需在新框架中实现端点,而不是客户端可能需要更改。
您应该同时使用这两者,因为您的应用程序很大。
假设您的屏幕是根据规则划分的。
当管理员登录时,您将加载与该功能相关的所有文件,然后利用 ng-view 并将该功能作为单页应用程序。
所以用这种方式你不需要一次加载所有文件。通过 ng-view 你还可以在不同的屏幕之间共享数据。