【问题标题】:Failed to instantiate module [$injector:unpr] Unknown provider: $routeProvider无法实例化模块 [$injector:unpr] 未知提供者:$routeProvider
【发布时间】:2013-08-31 04:05:09
【问题描述】:

我在从 AngularJS 1.0.7 升级到 1.2.0rc1 时收到此错误。

【问题讨论】:

    标签: javascript angularjs routes


    【解决方案1】:

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

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

    API Reference

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

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

    如果您打算使用 angular-ui-router 或类似的,那么只需从您的模块 .config() 中删除 $routeProvider 依赖项并将其替换为选择的相关提供程序(例如 $stateProvider)。然后,您将使用 ui.router 依赖项:

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

    【讨论】:

    • 似乎ui-router 项目可能是一个更灵活的选择,如果你从头开始 (github.com/angular-ui/ui-router)
    • @gatoatigrado - 当我将我的应用程序从 angular-ui-router v0.0.1 升级到 v0.2.0 时,我才意识到 ui.state 语法有多旧b>,这意味着它现在使用 ui.router 名称。对于造成的任何混乱,我深表歉意。
    • angular-route.js的CDN地址在哪里?
    • @SaharSany - documentation for angular-route 提供 CDN 地址以及其他选项。至于ui-router,目前我知道没有CDN。
    • ui-router 似乎不在自己的 CDN 上,尽管它在 cdnjs 上:cdnjs.com/libraries/angular-ui-router
    【解决方案2】:

    添加到斯科蒂的答案:

    选项 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']);

    干杯!!!

    【讨论】:

    • 对不起,但我不得不承认这似乎与已经提供的答案非常相似??
    • ...在其他地方,我发现人们无法找到下载链接/ URL 或引用“angular-route.min.js”。这就是我在回答中给出的内容,是的,我同意你所说的“ngRoute”依赖,所以我也在我的回答中添加了这一点。
    • 我有点厌倦了 js 库的地狱。肯定有比逐个模块找出正确堆栈模块更好的方法。
    • 这就是@SamanthaAtkins 的完成方式,如果您知道需要什么,则注入依赖项并包含JS 文件(如果您没有该依赖项的代码)。虽然如果有人提出建议,我会很感激。
    【解决方案3】:

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

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

    咖啡语法:

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

    【讨论】:

      猜你喜欢
      • 2016-05-10
      • 1970-01-01
      • 2014-09-24
      • 1970-01-01
      • 2017-04-16
      • 2014-10-01
      • 2023-03-08
      • 1970-01-01
      • 2017-04-25
      相关资源
      最近更新 更多