首页 > 解决方案 > 在 Angular 8 项目中加载 Firebase 远程配置

问题描述

由于 Firebase 已经向网络发布了远程配置,我正试图利用它来让我在假期期间的生活更轻松。我有一个客户正在为他们的公司网站使用的 web 应用程序,我想设置一个远程配置属性来加载他们的假期时间。

HTML 模板

<div *ngIf="holidays" class="card" style="width: 18rem;">
    <div class="card-body">
      <h5 class="card-title">Holiday Hours</h5>
      <p class="card-text">
          Holiday hours go here
      </p>
    </div>
</div>

打字稿片段

  holidays = boolean;

  constructor() { }

  ngOnInit() {
    const remoteConfig = firebase.remoteConfig();

    remoteConfig.fetchTimeMillis = 360000;

    remoteConfig.defaultConfig = ({
      'holidays': false,
    })

    remoteConfig.fetchAndActivate()
    .then(() => {
    this.holidays = remoteConfig.getBoolean('holidays')
    console.log(this.holidays);
    })

  }

}

将代码部署到 Firebase 报告“remoteConfig 不是函数”

Angular 拒绝构建,直到我在 ngOnInit 之外声明了节日变量

标签: angularfirebase

解决方案


我假设您使用的是@angular/firefireabse(低于 7)的过时版本。

您可能想要做的是等待此拉取请求合并到主分支,或通过运行安装(您可能会看到 PEER DEPENDENCY 警告,因为 @angular/fire 尚不支持 firebase 7):

npm install firebase@7.3.0

或更高。


推荐阅读