1. ホーム
  2. angular

[解決済み] プロパティ 'firebase' はタイプ { production: boolean; } に存在しません。

2023-04-25 11:37:02

質問

Angular4アプリをFirebaseとHerokuの両方でビルドし、本番用にデプロイしようとしたのですが、以下のようなエラーに遭遇しています。

ERROR in /Users/.../... (57,49): プロパティ 'firebase' が存在しません。 type '{ production: boolean; }' に存在しません。

を実行すると発生します。 ng build --prod を実行したときに発生します。私のデプロイメント サーバーは完全に正常に動作しています。以下は私の app.module.ts ファイルです。

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { AngularFireModule } from 'angularfire2';
import { AngularFireDatabaseModule } from 'angularfire2/database';
import { Ng2ScrollimateModule } from 'ng2-scrollimate';
import { Ng2PageScrollModule } from 'ng2-page-scroll';

import { HttpModule } from '@angular/http';
import { trigger, state, style, animate, transition, keyframes } from '@angular/animations';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { environment } from '../environments/environment';

import { AppComponent } from './app.component';

import { LogoComponent } from './logo/logo.component';
import { InfoComponent } from './info/info.component';
import { AboutComponent } from './about/about.component';
import { DividerComponent } from './divider/divider.component';
import { ProficienciesComponent } from './proficiencies/proficiencies.component';
import { ProficiencyComponent } from './proficiency/proficiency.component';
import { PortfolioComponent } from './portfolio/portfolio.component';
import { ProjectComponent } from './project/project.component';
import { ResumeComponent } from './resume/resume.component';
import { FooterComponent } from './footer/footer.component';
import { ContactComponent } from './contact/contact.component';
import { LoadingComponent } from './loading/loading.component';

@NgModule({
  declarations: [
    AppComponent,
    LogoComponent,
    InfoComponent,
    AboutComponent,
    DividerComponent,
    ProficienciesComponent,
    ProficiencyComponent,
    PortfolioComponent,
    ProjectComponent,
    ResumeComponent,
    FooterComponent,
    ContactComponent,
    LoadingComponent,
  ],
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    BrowserAnimationsModule,
    AngularFireModule.initializeApp(environment.firebase),
    AngularFireDatabaseModule,
    Ng2ScrollimateModule,
    Ng2PageScrollModule.forRoot(),
  ],
  providers: [],
  bootstrap: [AppComponent],
})
export class AppModule {}

環境.prod.ts

export const environment = {
  production: true
};

環境.ts

export const environment = {
  production: true,
  firebase: {
    apiKey: '...',
    authDomain: 'project.firebaseapp.com',
    databaseURL: 'https://project.firebaseio.com',
    projectId: 'project',
    storageBucket: 'project.appspot.com',
    messagingSenderId: '...',
  },
};

StackOverflow と GitHub で可能な解決策を探しても、この正確なエラーに遭遇してその結果を公開している開発者がいないようなので、どなたかこの問題を解決する方法をご存知ないでしょうか。この問題を解決する方法を知っている人がいれば教えてください。

どのように解決するのですか?

を実行すると ng build --prod を実行すると、angular-cli は environment.prod.ts ファイル、そしてあなたの environment.prod.ts ファイル environment 変数には firebase フィールドを持たないため、例外が発生します。

フィールドを environment.prod.ts

export const environment = {
  production: true,
  firebase: {
    apiKey: '...',
    authDomain: 'project.firebaseapp.com',
    databaseURL: 'https://project.firebaseio.com',
    projectId: 'project',
    storageBucket: 'project.appspot.com',
    messagingSenderId: '...',
  },
};