2016-12-14 2 views
2

Я пытаюсь инициализировать AngularFire2 в моем приложении Angular2, но я получаю следующую ошибку.Запуск приложения 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 

Вот мой Firebase модуль, который я пытаюсь импортировать в initializeFirebase() в моем NgModule.

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 (и тип, упомянутый в ошибке).

Чтобы решить эту проблему, вы можете указать тип возвращаемого значения, который также будет означать, что вам нужно добавить импорт:

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

Для получения дополнительной информации см это GitHub issue comment

0

Я поместил все файлы конфигурации в тот же файл, что и NgModule, а затем он сработал ... Я разделил его так, как раньше, и это сработало, но я думаю, что не в этот раз.

Смежные вопросы