Я получил эту ошибку при обновлении с AngularJS 1.0.7 до 1.2.0rc1.
Не удалось создать экземпляр модуля [$ injector: unpr] Неизвестный поставщик: $routeProvider
Ответ 1
Модуль ngRoute больше не является частью основного файла angular.js
. Если вы продолжаете использовать $routeProvider, теперь вам нужно включить angular-route.js
в свой HTML:
<script src="angular.js">
<script src="angular-route.js">
Вы также должны добавить ngRoute
в качестве зависимости для своего приложения:
var app = angular.module('MyApp', ['ngRoute', ...]);
Если вместо этого вы планируете использовать angular-ui-router
или тому подобное, просто удалите зависимость $routeProvider
от вашего модуля .config()
и замените его соответствующим поставщиком выбора (например, $stateProvider
). Затем вы использовали бы зависимость ui.router
:
var app = angular.module('MyApp', ['ui.router', ...]);
Ответ 2
добавление в ответ scotty:
Вариант 1: Либо включите это в свой JS файл:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js"></script>
Вариант 2: или просто используйте URL-адрес для загрузки 'angular-route.min.js' на ваш локальный.
а затем (любой вариант, который вы выберете) добавьте эту "ngRoute" в качестве зависимости.
пояснил:
var app = angular.module('myapp', ['ngRoute']);
Ура!!!
Ответ 3
В моем случае это было связано с тем, что файл был изменен с неправильной областью. Используйте Array!
app.controller('StoreController', ['$http', function($http) {
...
}]);
Синтаксис кофе:
app.controller 'StoreController', Array '$http', ($http) ->
...