我最近通过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未定义"
答案 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 ) {