AngularFire2 初始化应用程序出错
AngularFire2 initializing app gives error
我试图在我的 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);
}
谁能帮我解释一下我做错了什么,或者如果发生其他事情,我有什么办法可以解决吗?
谢谢!
我将所有配置内容放入与 NgModule 相同的文件中,然后它起作用了……我以前像这样将它分开并且起作用了,但我想这次不行。
放在外部文件中不起作用的原因与此功能有关:
export function initializeFirebase() {
return AngularFireModule.initializeApp(firebaseConfig, firebaseAuthConfig);
}
声明未指定 return 类型,因此推断为 ModuleWithProviders
- initializeApp
的 return 类型(以及错误)。
要解决这个问题,你可以指定return类型,这也意味着你需要添加一个导入:
import { ModuleWithProviders } from '@angular/core';
...
export function initializeFirebase(): ModuleWithProviders {
return AngularFireModule.initializeApp(firebaseConfig, firebaseAuthConfig);
}
有关详细信息,请参阅此 GitHub issue comment
我试图在我的 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);
}
谁能帮我解释一下我做错了什么,或者如果发生其他事情,我有什么办法可以解决吗?
谢谢!
我将所有配置内容放入与 NgModule 相同的文件中,然后它起作用了……我以前像这样将它分开并且起作用了,但我想这次不行。
放在外部文件中不起作用的原因与此功能有关:
export function initializeFirebase() {
return AngularFireModule.initializeApp(firebaseConfig, firebaseAuthConfig);
}
声明未指定 return 类型,因此推断为 ModuleWithProviders
- initializeApp
的 return 类型(以及错误)。
要解决这个问题,你可以指定return类型,这也意味着你需要添加一个导入:
import { ModuleWithProviders } from '@angular/core';
...
export function initializeFirebase(): ModuleWithProviders {
return AngularFireModule.initializeApp(firebaseConfig, firebaseAuthConfig);
}
有关详细信息,请参阅此 GitHub issue comment