未能实例化模块[$injector:unp]未知提供程序:$routeProvider

Failed to instantiate module [$injector:unpr] Unknown provider: $routeProvider

本文关键字:未知 程序 routeProvider unp 模块 injector 实例化      更新时间:2023-09-26

我在从AngularJS1.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依赖项,并用所选的相关提供商(例如$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"下载到您的本地。

然后(无论您选择什么选项)将此"ngRoute"添加为依赖项。

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

干杯!!!

在我的案例中,这是因为文件被缩小到了错误的范围。使用数组!

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

咖啡语法:

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