Javascript 如何在Nextjs中使用firestore emulator
我正在尝试在基于Nextjs的本地项目上使用Firebase Emulator。按照Firebase的指导,我尝试使用Javascript 如何在Nextjs中使用firestore emulator,javascript,firebase,google-cloud-firestore,next.js,firebase-tools,Javascript,Firebase,Google Cloud Firestore,Next.js,Firebase Tools,我正在尝试在基于Nextjs的本地项目上使用Firebase Emulator。按照Firebase的指导,我尝试使用db.useEmulator('localhost',8080)初始化Firebase后,但出现以下错误: Error was not caught TypeError: db.useEmulator is not a function at Module.eval (VM79706 firebase.js:30) at eval (VM79706 firebase.js
db.useEmulator('localhost',8080)代码>初始化Firebase后,但出现以下错误:
Error was not caught TypeError: db.useEmulator is not a function
at Module.eval (VM79706 firebase.js:30)
at eval (VM79706 firebase.js:91)
at Module../utils/firebase.js (_app.js?ts=1603918354205:23994)
...
我一直在使用emulator测试云功能,它运行得非常好。我只是不知道如何将它与Firestore连接起来
下面是我如何设置Firebase的:
import firebase from 'firebase/app';
import 'firebase/auth';
import 'firebase/firestore';
import 'firebase/storage';
import 'firebase/analytics';
const clientCredentials = {
apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,
authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
databaseURL: process.env.NEXT_PUBLIC_FIREBASE_DATABASE_URL,
projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,
storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,
messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID,
measurementId: process.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID
};
// Check that `window` is in scope for the analytics module!
if (typeof window !== 'undefined' && !firebase.apps.length) {
firebase.initializeApp(clientCredentials);
if ('measurementId' in clientCredentials) firebase.analytics();
const db = firebase.firestore();
if (process.env.NEXT_PUBLIC_DB_HOST === 'localhost') {
db.useEmulator('localhost', 8080);
}
}
export default firebase;
你知道我为什么会出现这个错误,以及我如何将Firebase emulator与Nextjs连接吗?要回答我自己的问题,问题是Firebase 8.0.0的新版本中引入了这种方法。我刚得到最新消息,瞧 使用firebase版本。9.4.1.
您可以使用数据库UI在本地处理数据库。启动模拟器时显示数据库UI的Url。
常规url:localhost:PORT/database我在firebase上--version>8.15.0,我仍然可以得到函数。useEmulator不是函数