无法实例化模块未知提供者:$ 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) -> ...