gpt4 book ai didi

javascript - 如何在 ES6 语法中导入 firebase-functions 和 firebase-admin 以便使用 Babel for Node 10 进行转译

转载 作者:行者123 更新时间:2023-12-02 22:33:27 25 4
gpt4 key购买 nike

我目前正在使用 ES6 编写云函数,并使用 Babel 进行转译以针对 Node v10 环境。我注意到一些奇怪的事情。

为什么当我像这样导入 firebase-functions 时:

从“firebase-functions”导入函数;

我收到此错误:

!  TypeError: Cannot read property 'https' of undefined
at Object.<anonymous> (C:\myProject\functions\index.js:28:55)

要修复它,我需要像这样导入它:

从“firebase-functions”导入 * 作为函数;

虽然以下导入对于firebase-admin工作得很好:

从“firebase-admin”导入管理员;

问题

简而言之,问题是:

为什么会这样:

import functions from 'firebase-functions';            // DOESN'T WORK
import * as functions from 'firebase-functions'; // WORKS
import admin from 'firebase-admin'; // WORKS

最佳答案

从 'firebase-functions'导入函数; 不起作用的原因是 'firebase-functions' 没有“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,因为您正在尝试读取 'firebase 的属性 https -函数'

import { https } from 'firebase-functions'
<小时/>

更多信息可参见 here .

希望这能澄清您的问题。

关于javascript - 如何在 ES6 语法中导入 firebase-functions 和 firebase-admin 以便使用 Babel for Node 10 进行转译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58817431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com