繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM