2017-06-12 51 views
1

我正在创建一个使用Vue webpack和firebase的web应用程序。当我在firebase cli上使用firebase use <some_alias>时,我想让我的Firebase凭据自动更改。在其他项目中,这仅仅意味着包括Firebase托管的/__/firebase/init.js文件。在这个项目中,我使用的是NPM火力库,并且可以在一个特定的火力组凭证与使用带有Webpack的firebase auto SDK设置

import firebase from 'firebase' 

var config = { 
    apiKey: '...', 
    authDomain: '...', 
    databaseURL: '...', 
    projectId: '...', 
    storageBucket: '...', 
    messagingSenderId: '...' 
} 
firebase.initializeApp(config) 

export default { 
    database: firebase.database, 
    storage: firebase.storage, 
    auth: firebase.auth 
} 

加载不过,根据我目前的工作空间火力点,这并不让我的凭据。相反,我想像

import firebase from 'firebase' 

const fbcli = require('firebase-tools'); 

export const getFirebaseInstance =() => { 

    return fbcli.setup.web().then(config => { 
    firebase.initializeApp(config) 

    return firebase 
    }); 
} 

虽然同步。有什么方法可以同步加载我的Firebase凭据?

+0

为什么你想要这是同步? – Cobaltway

+0

如果这个函数不同步,那可能是因为它在内部读取一个文件。 – Cobaltway

+0

在查看源代码之后,它也会对某些API发出请求,因此在同一时间执行该操作与此无关。 – Cobaltway

回答

1

这是通过在产品环境中检查window.location.host解决的,如果主机是我们的生产主机名,并且具有生产配置对象,并且从配置文件的值读取,则解决此问题。