typescript - No se pueden probar las funciones de la nube localmente, el emulador no se inicia con TypeError:_onRequestWithOpts no es una función
google-cloud-functions firebase-cli (4)
Cuando intento iniciar el shell para las pruebas locales desde el directorio de funciones en mi proyecto, el emulador se inicia pero mis funciones no se pueden cargar.
Cuando ejecuto "npm run build" no recibo ningún error. ¿Que esta pasando?
He intentado eliminar el directorio de funciones y volver a crearlo utilizando el cli de firebase-tools, pero sigo recibiendo el mismo error. También he exportado las credenciales de administrador.
Estoy usando el método predeterminado creado en el archivo index.ts generado desde el cli de herramientas de base de fuego.
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!");
});
Espero que el emulador gire instancias de la función para probar, pero en cambio, veo este error:
✔ 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.
Bajar la función de base de fuego a la versión 3.0.0
Elimine node_modules y luego ejecute npm install , npm install firebase-admin y npm install [email protected]
Encontré error en:
node_modules / firebase-tools / lib / emulator / functionsEmulatorRuntime.js
línea 276:
const _onRequestWithOpts = httpsProvider._onRequestWithOpts;
debiera ser:
const _onRequestWithOpts = httpsProvider._onRequestWithOptions;
Si está experimentando este error, ejecute
npm install [email protected]
en su directorio de
functions
.
Esto se solucionará pronto y puede seguirlo aquí: https://github.com/firebase/firebase-tools/issues/1480