Подтвердить что ты не робот

Ошибка: [$ injector: unpr] Неизвестный поставщик: $routeProvider

Я пытаюсь запустить приложение AngularJS 1.2 RC2. В настоящее время я использую проект Angular Seed, чтобы попытаться запустить мое приложение. К сожалению, проект Angular Seed использует v1.0.7. В проекте Angular Seed я обновил зависимости следующим образом:

$script([
  'res/js/angular-1.2.0-rc.2.js',
  'res/js/angular-route-1.2.0-rc.2.js',
  'res/js/app.js?v=2',
], function() {
  // when all is done, execute bootstrap angular application
  angular.bootstrap(document, ['myApp']);
});

В app.js у меня есть следующее:

'use strict';

angular.module('myApp', []).
    config(['$routeProvider', function($routeProvider) {
        $routeProvider.otherwise({redirectTo: '/home'});
    }]);

Когда я запускаю это приложение, я получаю следующую ошибку:

Error: [$injector:unpr] Unknown provider: $routeProvider

Я прочитал некоторые другие ответы, которые говорят такие вещи, как 1) Inject 'ngroute' или 2). Вам нужно определить контроллер на маршруте. Моя проблема в том, что я не понимаю, как вводить ngroute. Кроме того, действительно ли мне нужно определить контроллер на маршруте? Такой подход не кажется масштабируемым. Мое приложение может иметь тысячу просмотров. На мой взгляд, кажется, что должен быть способ определения маршрутов без необходимости загрузки всех контроллеров.

4b9b3361

Ответ 1

В angular 1.4 + в дополнение к добавлению зависимости

angular.module('myApp', ['ngRoute'])

нам также необходимо обратиться к отдельному файлу angular -route.js

<script src="angular.js">
<script src="angular-route.js">

см. https://docs.angularjs.org/api/ngRoute

Ответ 2

Похоже, вы забыли включить модуль ngRoute в свою зависимость для myApp.

В Angular 1.2 они сделали необязательным ngRoute (чтобы вы могли использовать сторонние поставщики маршрутов и т.д.), и вы должны явно зависеть от него в модулях, а также включая отдельный файл.

'use strict';

angular.module('myApp', ['ngRoute']).
    config(['$routeProvider', function($routeProvider) {
$routeProvider.otherwise({redirectTo: '/home'});
}]);