В чем разница в угловых значениях между ui.router и ui.state?

Я работаю над созданием установки angularJS SPA с несколькими видами, используя angular ui-router.

Когда я смотрю в Интернете по учебникам и практическим занятиям, я вижу смешанный пакет зависимостей. На странице ui-router github есть примеры, которые используют ui.router как зависимость от модуля, в то время как в других статьях, таких как Ben Schwartz учебник, используется ui.state.

В чем разница? Является ли это устаревшим? Является ли ui.state подмножеством ui.router?

Ответ 1

Итак, ui.state для v0.0.1, а ui.router для v0.2.0 (текущая версия).

ui.state был необходимым модулем для пользователей, который вводил в качестве зависимости в v0.0.1 ui-router. См. README в этом выпуске, а также соответствующий фрагмент из angular-ui-router.js (строки 45 -48):

angular.module('ui.util', ['ng']);
angular.module('ui.router', ['ui.util']);
angular.module('ui.state', ['ui.router', 'ui.util']);
angular.module('ui.compat', ['ui.state']);

README в версиях v0.2.0 в разделе быстрого запуска: Set ui.router as a dependency in your module. Note: Use ui.state if using v0.0.1.

Это, конечно, подтверждается angular-ui-router.js в версиях v0.2.0, строки 79-83, в котором показана соответствующая структура зависимости модуля в этой точке:

angular.module('ui.router.util', ['ng']);
angular.module('ui.router.router', ['ui.router.util']);
angular.module('ui.router.state', ['ui.router.router', 'ui.router.util']);
angular.module('ui.router', ['ui.router.state']);
angular.module('ui.router.compat', ['ui.router']);