无法实例化模块未知提供者:$ routeProvider

从AngularJS 1.0.7升级到1.2.0rc1时,我收到这个错误。

ngRoute模块不再是核心angular.js文件的一部分。 如果您继续使用$ routeProvider,那么您现在需要在您的HTML中包含angular-route.js

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

API参考

您还必须添加ngRoute作为您的应用程序的依赖项:

 var app = angular.module('MyApp', ['ngRoute', ...]); 

如果你正在计划使用angular-ui-router或类似的方法,那么只需从你的模块.config()移除$routeProvider依赖关系,并将其replace为select的相关提供者(例如$stateProvider )。 然后您将使用ui.router依赖项:

 var app = angular.module('MyApp', ['ui.router', ...]); 

添加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 ”到您的本地。

然后(无论你select什么选项)添加这个“ngRoute”作为依赖。

解释: var app = angular.module('myapp', ['ngRoute']);

干杯!!!

在我的情况下,这是因为文件被缩小了错误的范围。 使用数组!

 app.controller('StoreController', ['$http', function($http) { ... }]); 

咖啡语法:

 app.controller 'StoreController', Array '$http', ($http) -> ...