Firebase.authuseEmulator不是函数

问题描述

我目前通过VueCLI和firebase-tools建立了一个项目,并且似乎无法将Firebase Auth仿真器附加到本地项目中。

我的Firebase设置文件

import firebase from 'firebase/app';
import 'firebase/auth';
import 'firebase/firestore';
import 'firebase/storage';

const configOptions = {
    apiKey: process.env.VUE_APP_FIREBASE_API_KEY,authDomain: process.env.VUE_APP_FIREBASE_AUTH_DOMAIN,databaseURL: process.env.VUE_APP_FIREBASE_DB_URL,projectId: process.env.VUE_APP_FIREBASE_PROJECT_ID,storageBucket: process.env.VUE_APP_FIREBASE_STORAGE_BUCKET,messagingSenderId: process.env.VUE_APP_FIREBASE_MESSAGING_SENDER_ID,appId: process.env.VUE_APP_FIREBASE_APP_ID,measurementId: process.env.VUE_APP_FIREBASE_MEASUREMENT_ID
};

firebase.initializeApp(configOptions);

if (process.env.NODE_ENV === "development"){
    firebase.firestore().settings({ host: 'localhost:8080',ssl: false });
    firebase.auth().useEmulator('http://localhost:9099/');
}

export const firebaseauth = firebase.auth();
export const firestore = firebase.firestore();
export const firebasestorage = firebase.storage();
export default firebase;

我的.env.development文件

VUE_APP_I18N_LOCALE=en
VUE_APP_I18N_FALLBACK_LOCALE=en

VUE_APP_FIREBASE_API_KEY="xx"
VUE_APP_FIREBASE_AUTH_DOMAIN="localhost:9099"
VUE_APP_FIREBASE_DB_URL="http://localhost:4000"
VUE_APP_FIREBASE_PROJECT_ID="xx"
VUE_APP_FIREBASE_STORAGE_BUCKET="xx"
VUE_APP_FIREBASE_MESSAGING_SENDER_ID="xx"
VUE_APP_FIREBASE_APP_ID="xx"
VUE_APP_FIREBASE_MEASUREMENT_ID="xx"

导航到localhost:5000(模拟主机)时,出现错误

未捕获的TypeError:firebase_app__WEBPACK_IMPORTED_MODULE_0 ___ default.a.auth(...)。useEmulator不是函数

useEmulator直接来自Google的Firebase Documentation,所以我不确定自己做错了什么。

解决方法

可能是您仍在使用8.0.0之前的firebase版本,在这种情况下,您要调用的方法是.useFunctionsEmulator方法(自v8起不推荐使用)。 0.0):

firebase.functions().useFunctionsEmulator('http://localhost:5001');

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...