无法实例化模块[$injector:unpr] 未知提供者: $routeProvider

6 浏览
0 Comments

无法实例化模块[$injector:unpr] 未知提供者: $routeProvider

在将AngularJS从1.0.7升级到1.2.0rc1时,我遇到了这个错误。

0
0 Comments

这个问题的出现的原因是因为文件使用了错误的作用域进行了缩小。解决方法是使用正确的Array作用域。

在我的情况下,问题出现的原因是因为文件使用了错误的作用域进行了缩小。解决方法是使用正确的Array作用域。在代码中,我使用了一个控制器`StoreController`,依赖于`$http`服务。在错误的作用域中,我只是简单地将`$http`作为一个参数传递给控制器函数。然而,由于文件被错误地缩小,导致AngularJS无法正确地识别`$http`是一个服务。为了解决这个问题,我需要使用正确的Array作用域,将`$http`作为字符串参数传递给控制器函数。

以下是正确的Array作用域的示例代码:

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

如果你使用的是CoffeeScript语法,你可以使用以下代码:

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

通过使用正确的Array作用域,我成功解决了这个问题,并且AngularJS能够正确地识别`$http`是一个服务。这个错误的原因是因为文件被错误地缩小,导致AngularJS无法正确地识别服务。通过使用正确的Array作用域,我们可以提供正确的依赖关系,使AngularJS能够正确地实例化模块,并解决`Unknown provider: $routeProvider`的问题。

0
0 Comments

文章内容如下:

添加到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']);

谢谢!!!

抱歉,但我不得不承认这似乎与已经提供的答案非常相似?

……在其他地方,我发现人们找不到下载或引用'angular-route.min.js'的链接/ URL。这就是我在答案中给出的内容,我同意你提到的'ngRoute'依赖项,所以我也在我的答案中添加了它。

我对js库地狱感到非常厌倦。肯定有比逐个模块找出正确的堆栈模块更好的方法。

这就是做法,如果你知道需要什么,你注入依赖并包含JS文件,如果你没有该依赖的代码。尽管我会感激如果有人提出更好的方法。

0
0 Comments

问题出现的原因是ngRoute模块不再是angular.js核心文件的一部分。如果继续使用$routeProvider,则需要在HTML中包含angular-route.js文件,并将ngRoute添加为应用程序的依赖项。如果打算使用angular-ui-router或类似的库,则需要从模块的.config()中删除$routeProvider依赖项,并用相关的提供程序(例如$stateProvider)替换它。可以使用ui.router作为依赖项。

解决方法是在HTML中引入angular-route.js文件,并将ngRoute添加为应用程序的依赖项。如果使用angular-ui-router,则需要引入相应的文件。可以从官方文档中找到angular-route.js的CDN地址。对于angular-ui-router,目前没有单独的CDN,但可以在cdnjs上找到该库的地址。

参考链接:

- [ngRoute API参考文档](http://docs.angularjs.org/api/ngRoute)

- [angular-ui-router库地址](https://github.com/angular-ui/ui-router)

- [angular-ui-router在cdnjs上的地址](http://cdnjs.com/libraries/angular-ui-router)

- [ui-router重新加载当前状态并刷新数据的方法](http://stackoverflow.com/questions/21714655)

0