无法实例化firebase模块

时间:2017-06-14 19:41:43

标签: angularjs firebase npm

我最近通过npm安装了firebase,但是当我尝试导入它并将其设置为我的app模块的依赖项时,我收到此错误:

  

未捕获错误:[$ injector:modulerr]无法实例化模块app-bootstrap,原因如下:   错误:[$ injector:modulerr]由于以下原因导致无法实例化模块firebase:   错误:[$ injector:nomod]模块' firebase'不可用!您要么错误拼写了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。

我正在使用import" firebase"在我的main.js文件中。除了firebase以外的所有其他进口工程。

可能是什么问题?

main.js:

import 'angular';
import 'angular-ui-router';
import 'angular-animate';
import * as firebase from 'firebase';
import 'angularfire';

// Libs wrapper

import 'assets/css/main.scss'

// Module wrapper
import 'modules';

let config = {
     apiKey: "",
     authDomain: "",
     databaseURL: "",
     projectId: "",
     storageBucket: "",
}
     firebase.initializeApp(config);

angular
  .module('app-bootstrap', [
    'ui.router',
    'ngAnimate',
    'firebase',
    'modules'
  ])


angular.element(document).ready(function() {
  angular.bootstrap(document, ['app-bootstrap']);
});

随机控制器:

export function authCtrl($firebaseAuth) {
    let vm = this;
    vm.authObj = $firebaseAuth();


}

稍后编辑:

我设法解决了Uncaught Error,现在我得到了一个不同的错误" ReferenceError:firebase未定义"

1 个答案:

答案 0 :(得分:0)

在我的环境中,我只使用AngularFire2,而不是直接使用Firebase。

...
import { AngularFireModule } from 'angularfire2';
import { AngularFireAuthModule } from 'angularfire2/auth';
import { AngularFireDatabaseModule } from 'angularfire2/database';
...
@NgModule({
...
    imports: [
        BrowserModule,
        AngularFireModule.initializeApp(Configuration.Firebase),
        AngularFireAuthModule,
        AngularFireDatabaseModule
    ],

...     })     导出类AppModule {}

然后,在需要AngularFire2访问的类中,将它作为构造函数的依赖项传递:

export class SomeClass {
    DataForPage: FirebaseListObservable<any[]>;

    constructor(public navCtrl: NavController, FirebaseData: AngularFireDatabase ) {
    this.DataForPage = FirebaseData.list('/data');
}
...

或者

constructor(public navCtrl: NavController, FirebaseData: AngularFireDatabase, Auth:AngularFireAuthModule ) {