2015-12-28 98 views
3

我已经建立使用角和火力地堡的应用程序,这是工作,直到我决定改变目录和从头构建它来解决一些兼容性问题(使用引导程序)。现在,当我尝试去我的网址我得到以下错误:AngularJS未知的提供程序错误(火力地堡&AngularFire)

Error: [$injector:unpr] Unknown provider: $firebaseArrayProvider <- $firebaseArray

我已经通过类似的问题搜索,并没有发现,解决我的问题的任何答案。我尝试过通过凉亭和链接来安装Angular,以及链接到老版本的AngularFire.js和Firebase.js。以下是涉及的每个文件的代码。

的index.html

<!DOCTYPE html> 
<html lang="en" ng-app="myApp"> 
    <link rel="icon" href="img/favicon.png"> 
    <link rel="stylesheet" href="css/dirty-soda.css"> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"> 
    <script src="http://code.angularjs.org/1.4.8/angular.js"></script> 
    <script src="http://code.angularjs.org/1.4.8/angular-route.js"></script> 
<head> 
</head> 
<body> 
    <div ng-view></div> 
    <script src="app.js"></script> 
    <script src="editor/editor.js"></script> 
    <script src="https://cdn.firebase.com/js/client/2.2.4/firebase.js"></script> 
    <script src="angularfire.min.js"></script> 
    <script src="../src/ace.js"></script> 
</body> 
</html> 

app.js

'use strict'; 
angular.module('myApp', [ 
    'ngRoute', 
    'myApp.editor' 
]). 
config(['$routeProvider', function($routeProvider) { 
    $routeProvider.otherwise({redirectTo: 'app/editor'}); 
}]); 

editor.js内

angular.module('myApp.editor', ['ngRoute']) 

.config(['$routeProvider', function($routeProvider) { 
    $routeProvider.when('/editor', { 
     templateUrl: 'editor/editor.html', 
     controller: 'SnippetCtrl' 
    }); 
}]) 

.controller('SnippetCtrl', ['$scope','$firebaseArray','CommonProp', function($scope,$firebaseArray,CommonProp) { 
    $scope.username = CommonProp.getUser(); 
    var firebaseObj = new Firebase("<Firebase URL>"); 
    $scope.snippets = $firebaseArray(firebaseObj); 
}]); 
+0

您需要包括模块尝试之前注册它们,即包括前angularfire * *'app.js' –

+0

我的脚本是按照下面的顺序,我仍然收到错误。我列出他们的方式有问题吗? Angular/AngularRoute/Firebase/AngularFire/app.js/editor.js – tjq

回答

3

你忘了包括新模块“杉EBASE”在app.js

app.js

angular.module('myApp', [ 
    'ngRoute', 
    'myApp.editor', 
    'firebase' 
]). 

编辑:

包括从@Explosion丸答案:

的index.html,你也应该将脚本src =“app.js”移动到最后一行,以便在注册之前先加载所有需要的js文件。

+0

得到它的工作!非常感谢,我想我一定错过了一件非常简单的事情。但是,在my ** editor.html **页面中,尽管开发工具告诉我该css文件已被正确加载,但样式仍不显示。这是由于我所做的任何更改吗?如果需要,我可以发布小提琴。 – tjq

+0

很高兴帮助。小提琴会很好!由于事情发生在其他文件上,我需要在代码上检查它 – Quy