我使用Firebase作为Angular 5应用程序的数据库。我能够使用ng build构建,运行和部署项目。但是,当我使用--prod标志构建时,我收到以下错误。
使用:
ng build --prod
我收到以下错误:
在FirebaseModule'模板编译期间出现错误错误功能 装饰者不支持调用,但是' AngularFireModule'是 调用。
我不了解如何配置AngularFire模块以使其正常工作。
Firebase.Module.ts:
import { NgModule } from "@angular/core";
import { CommonModule } from "@angular/common";
import { environment } from "../environments/environment"; // Firebase config stored in environment file
import { AngularFireAuthModule } from "angularfire2/auth";
import { AngularFireModule } from "angularfire2/angularfire2";
import { AngularFirestoreModule } from "angularfire2/firestore";
@NgModule({
imports: [
AngularFireModule.initializeApp(environment.firebase), // Error is here
AngularFireAuthModule,
AngularFirestoreModule
],
exports: [AngularFireModule, AngularFireAuthModule, AngularFirestoreModule],
providers: [],
declarations: []
})
export class FirebaseModule {}
environment.ts(和environment.prod.ts)
export const environment = {
production: false,
firebase: {
apiKey: "...",
authDomain: "...",
databaseURL: "...",
projectId: "...",
storageBucket: "",
messagingSenderId: "..."
}
};
包版本
"angularfire2": "^5.0.0-rc.4",
"firebase": "^4.8.1",
答案 0 :(得分:1)
我也遇到过这个错误。 angularfire2团队已经在rc9修复了这个问题,现在它的工作非常精细。 只需使用此命令更新库
npm install @angularfire2@5.0.0-rc.9
希望这有帮助。
答案 1 :(得分:0)
我在Angular 6中遇到了同样的问题。看起来这是ng-packagr的一个错误。问题报告中的注释表明直接执行ngc时不会出现问题。
答案 2 :(得分:-1)
我在ng build --prod
时遇到了同样的错误,并通过更改{AngularFireModule}导入行来解决此问题
import { AngularFireModule } from "angularfire2/angularfire2";
到
import { AngularFireModule } from "angularfire2";
答案 3 :(得分:-2)
更改构建脚本
这
ng build --prod
到
ng build --prod --base-href=./ -aot=false
添加-aot=false
来解决,但我认为这不是最佳解决方案。它应该向angularfire2开发团队报告错误。