我目前正在 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';
QUESTION
简而言之,问题是:
这是为什么:
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'
没有“功能“默认导出。
因此,这个错误:
! TypeError: Cannot read property 'https' of undefined
at Object.<anonymous> (C:\myProject\functions\index.js:28:55)
解决方案:
第一个选项是导入整个模块的内容并添加functions
进入包含模块所有导出的当前范围firebase-functions
.
import * as functions from 'firebase-functions'
第二个选项是从模块导入单个导出,https
在这种情况下,因为您正在尝试读取属性https
of 'firebase-functions'
.
import { https } from 'firebase-functions'
更多信息可以找到here.
希望这能澄清你的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)