AngularJS错误:未知提供者:app.configProvider< - app.config

时间:2013-10-20 05:11:52

标签: javascript angularjs facebook-javascript-sdk config

我正在尝试实施https://github.com/Ciul/angular-facebook中的代码,或者更具体地来自http://plnkr.co/edit/dDAmvdCibv46ULfgKCd3?p=preview的代码

我添加了来自http://rawgithub.com/Ciul/angular-facebook/master/lib/angular-facebook.js和script.js

的Javascript代码

在script.js中,我替换了:

angular.module('CiulApp', ['facebook'])

angular.module('app', ['facebook'])

因为我已经有一个名为'app'的模块,它是整个网站的模块:

<html data-ng-app="app">

但是,我在浏览器控制台中收到以下错误:

  

错误:未知提供者:app.configProvider&lt; - app.config

     

在错误()

     

http://localhost:8888/bower_components/angular-complete/angular.js:2652:15

     

...

     

...

我无法弄清楚为什么我会收到此错误。

我的app.js文件中有一个名为'app.config'的模块:

angular.module('app.config', []).value('app.config', { ....   })

但是,我不认为我的app.config模块是问题的根源,因为我已经更改了它的名称,我仍然得到同样的错误。 (在我尝试实施http://plnkr.co/edit/dDAmvdCibv46ULfgKCd3?p=preview

之前,我没有收到任何错误

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:2)

那么,现在代码中是否有超过1行:

angular.module('app', [...

一个用于初始化模块,另一个用于处理Facebook身份验证?如果是,请尝试:

找到第一次出现的代码(即声明模块的位置)并将所有依赖声明放在那里:

angular.module('app', ['facebook', 'other dependencies...'])

然后,找到您正在处理FB身份验证的另一行,并将其替换为:

angular.module('app').doYourStuff(

这样您只需要声明一次模块,当您想要更改它时,您将获得已经初始化的版本,而不是一遍又一遍地创建另一个模块。

答案 1 :(得分:0)

如果你提供非工作代码的jsFiddle / plunker会更容易。无论如何,您似乎正在使用自己初始化“app.config”模块

angular.module('app.config', []).value('app.config', { ....   }) 

因为你没有提供足够的信息我猜你试图在代码中的某处注入'app.config'?

如果你想配置'应用',你应该这样做

angular.module('myModule',[]).value('foo'{bar:'abc'})

angular.module('app',['myModule']).config(function($routeProvider){

     $routeProvider.when('/',{templateUrl: 'partials/phone-list.html', controller:'SomeCtrl')

 }).run(function($foo){
     alert($foo.bar)
   })

另请查看文档如何使用模块。 AngularJS : module