[英]Unit testing firebase functions: how to stub firebase-admin sdk
[英]How to import firebase-functions and firebase-admin in ES6 syntax for transpiling with Babel for Node 10
我目前正在用 ES6 编写我的云函数,并使用 Babel 进行编译以针对 Node v10 环境。 我注意到了一些奇怪的事情。
为什么当我像这样导入firebase-functions
时:
import functions from 'firebase-functions';
我收到此错误:
! TypeError: Cannot read property 'https' of undefined
at Object.<anonymous> (C:\myProject\functions\index.js:28:55)
为了修复它,我需要像这样导入它:
import * as functions from 'firebase-functions';
虽然以下import
适用于firebase-admin
:
import admin from 'firebase-admin';
问题
简而言之,问题是:
这是为什么:
import functions from 'firebase-functions'; // DOESN'T WORK
import * as functions from 'firebase-functions'; // WORKS
import admin from 'firebase-admin'; // WORKS
import functions from 'firebase-functions';
不起作用是因为'firebase-functions'
没有“ functions ”默认导出。
因此,此错误:
! TypeError: Cannot read property 'https' of undefined
at Object.<anonymous> (C:\myProject\functions\index.js:28:55)
第一个选项是导入整个模块的内容并将functions
添加到当前 scope 中,其中包含模块firebase-functions
的所有导出。
import * as functions from 'firebase-functions'
第二个选项是从模块导入单个导出,在这种情况下是https
,因为您正在尝试读取'firebase-functions'
属性https
。
import { https } from 'firebase-functions'
更多信息可以在这里找到。
希望这能澄清你的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.