(Angular / AOT) - Angularfire2 'initializeApp ()' does not load the correct configuration properties

We are developing an ionic hybrid application that uses Firebase as its backend. For this we use the npm package angularfire2.

We have two databases: one for development and one for production, so we want to change them depending on the state of the application.

To do this, we created a Boolean static constant ( IS_PRODUCTION_ENVIRONMENT), which, depending on its value, will change FIREBASE_CONFIG, which is a variable that contains database configuration data.

This is the important data in our app.config.tsfile:

    export class AppConfig {

        public static readonly IS_PRODUCTION_ENVIRONMENT = false;

        public static readonly FIREBASE_CONFIG_DEVELOPMENT = {
            apiKey: "",
            authDomain: "",
            databaseURL: "",
            projectId: "",
            storageBucket: "",
            messagingSenderId: ""
        };

        public static readonly FIREBASE_CONFIG_PRODUCTION = {
            apiKey: "",
            authDomain: "",
            databaseURL: "",
            projectId: "",
            storageBucket: "",
            messagingSenderId: ""
        };

    public static readonly FIREBASE_CONFIG = AppConfig.IS_PRODUCTION_ENVIRONMENT ? 
AppConfig.FIREBASE_CONFIG_PRODUCTION : AppConfig.FIREBASE_CONFIG_DEVELOPMENT;

...

And this is a call to app.module.ts:

imports: [
...
   AngularFireModule.initializeApp(AppConfig.FIREBASE_CONFIG),
...
]

, , --prod --release, ; , , ionic cordova run browser --prod --release, Firebase (FIREBASE_CONFIG_PRODUCTION), IS_PRODUCTION_ENVIRONMENT true, .

console.log , , IS_PRODUCTION_ENVIRONMENT FIREBASE_CONFIG . Firebase , IS_PRODUCTION_ENVIRONMENT true, .

, firebase.app.module.js, angularfire2, config initializeApp() FIREBASE_CONFIG_PRODUCTION ( IS_PRODUCTION_ENVIRONMENT true), FIREBASE_CONFIG FIREBASE_CONFIG_DEVELOPMENT.

FIREBASE_CONFIG ( ), , , - initializeApp() AppConfig 100% IS_PRODUCTION_ENVIRONMENT true.

, ionic serve ionic run, , Firebase . --prod --release.

- ?

!

+4
1

, , , .

, , , IS_PRODUCTION_ENVIRONMENT export const . app.config.ts ():

export const isProdEnvironment = true;

export class AppConfig {

    public static readonly IS_LOGGER_ENABLED = !isProdEnvironment;

    public static readonly FIREBASE_CONFIG_PRODUCTION = {
        apiKey: "",
        authDomain: "",
        databaseURL: "",
        projectId: "",
        storageBucket: "",
        messagingSenderId: ""
    };

    public static readonly FIREBASE_CONFIG_DEVELOPMENT = {
        apiKey: "",
        authDomain: "",
        databaseURL: "",
        projectId: "",
        storageBucket: "",
        messagingSenderId: ""
    };

    public static readonly FIREBASE_CONFIG = isProdEnvironment ? 
    AppConfig.FIREBASE_CONFIG_PRODUCTION : AppConfig.FIREBASE_CONFIG_DEVELOPMENT;

...

, , , , typescript public static readonly boolean, , .

0

Source: https://habr.com/ru/post/1694280/


All Articles