Cloud Functions Emulator 未在 Cloud Firestore 触发器上记录 console.log() 上的内容
Cloud Functions Emulator not logging things on console.log() on Cloud Firestore triggers
我已经成功 运行 Firebase 模拟器:
E:\firebase>firebase emulators:start
i emulators: Starting emulators: functions, firestore
! Your requested "node" version "8" doesn't match your global version "10"
+ functions: Emulator started at http://localhost:5001
! No Firestore rules file specified in firebase.json, using default rules.
i firestore: Serving ALL traffic (including WebChannel) on http://localhost:808
0
! firestore: Support for WebChannel on a separate port (8081) is DEPRECATED and
will go away soon. Please use port above instead.
i firestore: Emulator logging to firestore-debug.log
+ firestore: Emulator started at http://localhost:8080
i firestore: For testing set FIRESTORE_EMULATOR_HOST=localhost:8080
i functions: Watching "E:\firebase\func
tions" for Cloud Functions...
! functions: Your GOOGLE_APPLICATION_CREDENTIALS environment variable points to
E:\firebase\key.json. Non-emulated serv
ices will access production using these credentials. Be careful!
+ functions[notifyNewMessage]: firestore function initialized.
+ All emulators started, it is now safe to connect.
具有notifyNewMessage
功能的functions
文件如下:
const functions = require('firebase-functions')
const admin = require('firebase-admin')
admin.initializeApp()
exports.notifyNewMessage = functions.firestore
.document('test/{test}')
.onCreate((docSnapshot, context) => {
console.log(docSnapshot.data())
}
当我在 Firebase 控制台中手动创建新文档时,Windows 中的 CLI 没有记录任何内容。我该如何解决这个问题,以便它记录函数在我的 CLI 中所说的内容?
本地模拟器不响应托管在 Google 云中并在控制台中可见的 Firestore 数据库中的更改。它响应的是本地模拟的 Firestore 数据库中的更改,也在您的计算机上 运行。如果您希望您的 Firestore 功能在本地模拟器中触发,您将不得不更改模拟的 Firestore,如 documentation. You might want to go through the provided quickstart 中所述以获得一些相关经验。
如果不想使用Firestore模拟器,只想直接触发测试,可以使用Firebase CLI local shell.
我是白痴,没有重新编译代码
我已经成功 运行 Firebase 模拟器:
E:\firebase>firebase emulators:start
i emulators: Starting emulators: functions, firestore
! Your requested "node" version "8" doesn't match your global version "10"
+ functions: Emulator started at http://localhost:5001
! No Firestore rules file specified in firebase.json, using default rules.
i firestore: Serving ALL traffic (including WebChannel) on http://localhost:808
0
! firestore: Support for WebChannel on a separate port (8081) is DEPRECATED and
will go away soon. Please use port above instead.
i firestore: Emulator logging to firestore-debug.log
+ firestore: Emulator started at http://localhost:8080
i firestore: For testing set FIRESTORE_EMULATOR_HOST=localhost:8080
i functions: Watching "E:\firebase\func
tions" for Cloud Functions...
! functions: Your GOOGLE_APPLICATION_CREDENTIALS environment variable points to
E:\firebase\key.json. Non-emulated serv
ices will access production using these credentials. Be careful!
+ functions[notifyNewMessage]: firestore function initialized.
+ All emulators started, it is now safe to connect.
具有notifyNewMessage
功能的functions
文件如下:
const functions = require('firebase-functions')
const admin = require('firebase-admin')
admin.initializeApp()
exports.notifyNewMessage = functions.firestore
.document('test/{test}')
.onCreate((docSnapshot, context) => {
console.log(docSnapshot.data())
}
当我在 Firebase 控制台中手动创建新文档时,Windows 中的 CLI 没有记录任何内容。我该如何解决这个问题,以便它记录函数在我的 CLI 中所说的内容?
本地模拟器不响应托管在 Google 云中并在控制台中可见的 Firestore 数据库中的更改。它响应的是本地模拟的 Firestore 数据库中的更改,也在您的计算机上 运行。如果您希望您的 Firestore 功能在本地模拟器中触发,您将不得不更改模拟的 Firestore,如 documentation. You might want to go through the provided quickstart 中所述以获得一些相关经验。
如果不想使用Firestore模拟器,只想直接触发测试,可以使用Firebase CLI local shell.
我是白痴,没有重新编译代码