繁体   English   中英

Angular2-模块'AppModule'的'[object Object]'

[英]Angular2 - '[object Object]' of module 'AppModule'

我在将angularfire2集成到我的应用程序时遇到问题。 我已经整理了大多数问题,但希望我能接受最后一本书。 我不确定错误是什么,但已将其精确定位到以下代码。

这有效:

//Other imports here
import { FIREBASE_PROVIDERS, defaultFirebase } from 'angularfire2';

@NgModule({
  imports: [
              BrowserModule,
              HttpModule,
              RouterModule.forRoot(routes),
              MainModule,
              SharedModule.forRoot()],

  declarations: [AppComponent],
  providers: [{
    provide: APP_BASE_HREF,
    useValue: '<%= APP_BASE %>'
  }],
  bootstrap: [AppComponent]

})

export class AppModule { }

但这给了我bootstrap属性下面的错误:

(SystemJS) Unexpected value '[object Object]' used in the bootstrap property of module 'AppModule'


//Other imports here
import { FIREBASE_PROVIDERS, defaultFirebase } from 'angularfire2';

@NgModule({
  imports: [
              BrowserModule,
              HttpModule,
              RouterModule.forRoot(routes),
              MainModule,
              SharedModule.forRoot()],

  declarations: [AppComponent],
  providers: [{
    provide: APP_BASE_HREF,
    useValue: '<%= APP_BASE %>'
  }],
  bootstrap: [AppComponent, [
  FIREBASE_PROVIDERS,
  defaultFirebase({
    apiKey: 'keyhere',
    authDomain: 'key.firebaseapp.com',
    databaseURL: 'https://key.firebaseio.com',
    storageBucket: 'key.appspot.com'
  })
]]

})

export class AppModule { }

它给您带来错误,因为您执行错误的方式,并且Bootstrap文档也未更新为与具有最新版本的模块一起使用。

Bootstrap文档中,第二个参数是我们的角度应用程序的提供程序,因此在最新的实际版本中,我们在@NgModule.providers内声明了我们所有的提供程序,因此您必须执行以下操作:

//Other imports here
import { FIREBASE_PROVIDERS, defaultFirebase } from 'angularfire2';

@NgModule({
  imports: [
              BrowserModule,
              HttpModule,
              RouterModule.forRoot(routes),
              MainModule,
              SharedModule.forRoot()],

  declarations: [AppComponent],
  providers: [
    {
      provide: APP_BASE_HREF,
      useValue: '<%= APP_BASE %>'
    },
    FIREBASE_PROVIDERS,
    defaultFirebase({
      apiKey: 'keyhere',
      authDomain: 'key.firebaseapp.com',
      databaseURL: 'https://key.firebaseio.com',
      storageBucket: 'key.appspot.com'
    })
  ],
  bootstrap: [AppComponent]    
})

export class AppModule { }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM