我正在尝试将Firebase整合到我的Angular 2应用程序中,但我一直收到此错误Firebase is not a constructor
。以下是我所做的:Firebase不是构造函数
- 安装使用火力鲍尔
- 引用脚本中的index.html。
- 安装火力环境分型
- 创建一个火力地堡服务
- 只要它通过
bootstrap()
- 有它在一个组件注入
FirebaseService.ts
@Injectable()
export class FirebaseService
{
dataRef: Firebase;
constructor() {
this.dataRef = new Firebase('https://boiling-inferno-1117.firebaseio.com/votes');
}
}
boot.ts
bootstrap(App, [HTTP_PROVIDERS,
ROUTER_PROVIDERS,
IdentityService,
ApiService,
UrlService,
provide(FirebaseService, {useValue: new FirebaseService()})
])
.catch(err => console.error(err));
app.ts
@Component({
selector: 'app',
templateUrl: 'app/app.html',
directives: [AuthRouterOutlet, ROUTER_DIRECTIVES]
})
export class App {
constructor(private firebase:FirebaseService)
{
}
}
Systemjs配置:
System.config({
defaultJSExtensions: true,
map: {
'jquery': 'vendors/js/jquery',
'firebase': 'vendors/js/firebase'
},
packages: {
angular2: { defaultExtension: false },
rxjs: { defaultExtension: false }
}
});
和进口Firebase
象下面这样:
import * as Firebase from 'firebase';
上我能做些什么来解决这个问题的任何建议非常感谢。
我们可以假设:提供(FirebaseService,{useValue:new FirebaseService()})是一个错字吗?因为你应该使用提供者,并且之后需要一个数组。提供商:[FirebaseService] –
您是否也可以提供您的SystemJS配置?还有您导入Firebase课程的方式?谢谢! –
@ R.Richards也试过。同样的错误。 – lbrahim