У меня есть простой метод, такой как
exports.updatePlayer = functions.firestore
.document('matches/{docId}')
.onCreate((change, context) => {
console.log('fired------------', context.params.docId);
});
Если я добавлю новый do c к совпадениям, я смогу увидеть консольное сообщение в журналах.
Вопрос в том, как я могу запустить его локально? У меня есть этот cmd в пакете. json
"serve": "firebase emulators:start --only functions,database",
Когда я запускаю `npm run server ', консоль говорит:
> functions@ serve D:\cric\fs-functions\functions
> firebase emulators:start --only functions,database
i emulators: Starting emulators: functions
! database: Not starting the database emulator, make sure you have run firebase init.
+ hub: emulator hub started at http://localhost:4400
! Your requested "node" version "8" doesn't match your global version "12"
+ functions: functions emulator started at http://localhost:5001
i functions: Watching "D:\cric\fs-functions\functions" for Cloud Functions...
! functions: The Cloud Firestore emulator is not running, so calls to Firestore will affect production.
+ functions[allMatches]: http function initialized (http://localhost:5001/xxxx-xxxxx/us-central1/allMatches).
i functions[updatePlayer]: function ignored because the firestore emulator does not exist or is not running.
+ emulators: All emulators started, it is now safe to connect.
Но теперь, если я добавлю что-то в коллекцию firestore Я не получаю никакого сообщения консоли на моем локальном терминале. Кроме того, i functions[updatePlayer]: function ignored because the firestore emulator does not exist or is not running.
Я хочу запустить этот триггер локально, поэтому могу быстро написать / протестировать мой код.