2016-12-14 7 views
2

Angular2アプリケーションでAngularFire2を初期化しようとしていますが、次のエラーが発生しています。AngularFire2アプリケーションを初期化するとエラーが発生する

ERROR in ./src/app/firebase/index.ts 
Module build failed: Error: /Users/jaruesink/Documents/Projects/buckets/src/app/firebase/index.ts (16,17): Return type of exported function has or is using name 'ModuleWithProviders' from external module "/Users/jaruesink/Documents/Projects/buckets/node_modules/@angular/core/src/metadata/ng_module" but cannot be named.) 
    at _checkDiagnostics (/Users/jaruesink/Documents/Projects/buckets/node_modules/@ngtools/webpack/src/loader.js:115:15) 
    at /Users/jaruesink/Documents/Projects/buckets/node_modules/@ngtools/webpack/src/loader.js:140:17 
@ ./src/app/app.module.ts 15:0-48 
@ ./src/app/index.ts 
@ ./src/main.ts 
@ multi main 

NgModuleでinitializeFirebase()としてインポートしようとしているFirebaseモジュールを次に示します。

import { AngularFireModule, AuthProviders, AuthMethods } from 'angularfire2'; 

export const firebaseConfig = { 
    FIREBASE STUFF GOES HERE 
}; 

export const firebaseAuthConfig = { 
    provider: AuthProviders.Facebook, 
    method: AuthMethods.Redirect 
} 

export function initializeFirebase() { 
    return AngularFireModule.initializeApp(firebaseConfig, firebaseAuthConfig); 
} 

誰かが私が間違っているのかを説明、または他の何かが起こっている場合、私はそれを回避することができます方法はありますか?助けることができますか

ありがとうございます!

答えて

0

外部ファイルに置かれたとき、それは動作しない理由は、この機能に関係しています:

export function initializeFirebase() { 
    return AngularFireModule.initializeApp(firebaseConfig, firebaseAuthConfig); 
} 

ModuleWithProvidersと推定ですので宣言は、戻り値の型を指定していない - の戻り値の型をinitializeApp(およびエラーに記載されているタイプ)。この問題を解決するために

、あなたはまた、インポートを追加する必要が意味するの戻り値の型、指定することができます。このGitHubのissue comment

を参照してください

import { ModuleWithProviders } from '@angular/core'; 
... 
export function initializeFirebase(): ModuleWithProviders { 
    return AngularFireModule.initializeApp(firebaseConfig, firebaseAuthConfig); 
} 

0

私はすべての設定をNgModuleと同じファイルに配置していましたが、それはうまくいきました。私はこれを前のように分けていましたが、今回は分かりませんでした。

関連する問題