装饰器不支持函数调用,但是' AngularFireModule'被称为

时间:2018-01-21 22:32:13

标签: typescript firebase angularfire2 angular5

我使用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",

AskFirebase

4 个答案:

答案 0 :(得分:1)

我也遇到过这个错误。 angularfire2团队已经在rc9修复了这个问题,现在它的工作非常精细。 只需使用此命令更新库

npm install @angularfire2@5.0.0-rc.9

希望这有帮助。

答案 1 :(得分:0)

我在Angular 6中遇到了同样的问题。看起来这是ng-packagr的一个错误。问题报告中的注释表明直接执行ngc时不会出现问题。

https://github.com/dherges/ng-packagr/issues/767

答案 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开发团队报告错误。