Angularjs 当URL隐藏在依赖项中时,Angular router如何知道将URL路由到何处?

Angularjs 当URL隐藏在依赖项中时,Angular router如何知道将URL路由到何处?,angularjs,module,ngroute,Angularjs,Module,Ngroute,在 例如,在一个类似于: 关于这一点,我有两个问题: 1) Angular如何定位此路径并将其与其他路径的注册表放在一起?是否因为使用了相同的$routeProvider? 2) 这是一种糟糕的编码实践吗?即,将路线放在不同的模块中?这样做有好处吗 如果有人能启发我,我会很高兴的。我只是从Angular开始。即使一个提供程序(如routeProvider)可以在多个模块中使用(这些模块相互依赖),该提供程序只实例化一次,这使得它是一个单例。因此,在每个模块中,您都与同一个提供者打交道。由于每个模

例如,在一个类似于:

关于这一点,我有两个问题:

1) Angular如何定位此路径并将其与其他路径的注册表放在一起?是否因为使用了相同的
$routeProvider
? 2) 这是一种糟糕的编码实践吗?即,将路线放在不同的模块中?这样做有好处吗

如果有人能启发我,我会很高兴的。我只是从Angular开始。

即使一个提供程序(如routeProvider)可以在多个模块中使用(这些模块相互依赖),该提供程序只实例化一次,这使得它是一个单例。因此,在每个模块中,您都与同一个提供者打交道。由于每个模块都有自己的配置阶段,您可以再次配置它,在这种情况下,注册将在同一个注册表中结束(内部)

因此,要回答您的第一个问题:是的,这是因为使用了相同的$routeProvider

回答你的第二个问题:我有点犹豫是否说这是一种好的编码实践,因为我在其他任何地方都没有见过这种模式。但它肯定有潜力,因为您可以创建关于一组功能(包括页面)的模块。在该模块内为该功能集定义路由是有意义的,因此所有关于它的知识都存在于该模块内

不利的一面是,URL可能会在以后加载的其他模块中被覆盖,特别是由将这些模块作为依赖项的主应用程序

angular.module('app',['a','b']);
因此,如果在模块“a”中您将“/home”定义为路由以及在“app”中,则“app”中定义的路由将覆盖“a”中定义的路由

angular.module('app',['a','b']);