Lorsque j'essaie de démarrer le shell pour les tests locaux à partir du répertoire des fonctions de mon projet, l'émulateur démarre mais mes fonctions ne peuvent pas être chargées.
Lorsque je lance "npm run build", je ne reçois aucune erreur. Qu'est-ce qui se passe?
J'ai essayé de supprimer le répertoire des fonctions et de le recréer à l'aide de la cli firebase-tools mais j'obtiens toujours la même erreur. J'ai également exporté les informations d'identification d'administrateur.
J'utilise la méthode par défaut créée dans le fichier index.ts généré à partir du cli firebase-tools.
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
admin.initializeApp();
// // Start writing Firebase Functions
// // https://firebase.google.com/docs/functions/TypeScript
//
export const helloWorld = functions.https.onRequest((request,
response) => {
response.send("Hello from Firebase!");
});
Je m'attends à ce que l'émulateur fasse tourner les instances de la fonction pour les tests, mais à la place, je vois cette erreur:
✔ functions: Emulator started at http://localhost:5001
⚠ TypeError: _onRequestWithOpts is not a function
at Object.httpsProvider._onRequestWithOpts (/usr/local/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:278:24)
at Object.httpsProvider.onRequest (/usr/local/lib/node_modules/firebase-tools/lib/emulator/functionsEmulatorRuntime.js:283:34)
at Object.<anonymous> (/Volumes/G-DRIVE mobile USB-C/CLEAN UP/Documents/code_bank/TypeScript/theincrowdapp/functions/lib/index.js:9:38)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:690:17)
at require (internal/modules/cjs/helpers.js:25:18)
⚠ We were unable to load your functions code. (see above)
- It appears your code is written in TypeScript, which must be compiled before emulation.
- You may be able to run "npm run build" in your functions directory to resolve this.
Rétrograder la fonction Firebasef à la version 3.0.0
Supprimer node_modules puis exécutez npm install, npm install firebase-admin et npm install firebase [email protected]