为啥在 Typescript(Firebase 函数)中双重导入 NPM 包

Posted

技术标签:

【中文标题】为啥在 Typescript(Firebase 函数)中双重导入 NPM 包【英文标题】:Why double import of NPM package in Typescript (Firebase Functions)为什么在 Typescript(Firebase 函数)中双重导入 NPM 包 【发布时间】:2019-07-01 11:16:02 【问题描述】:

在Firebase documentation 我遇到了这个:

import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
import 'firebase-functions';
admin.initializeApp();

为什么要第二次导入firebase-functions

它应该在哪里,在每个模块内还是只是主要的 index.ts?

【问题讨论】:

【参考方案1】:

在源代码中https://github.com/firebase/firebase-functions/blob/master/src/index.ts 首先是导出对象,所以import * as 是导入对象。而import 'firebase-functions'; 在第 56 行调用 if 语句

【讨论】:

好收获。有一件事我不明白,这是我偶然看到的,我以前没有使用它,也没有任何负面影响。

以上是关于为啥在 Typescript(Firebase 函数)中双重导入 NPM 包的主要内容,如果未能解决你的问题,请参考以下文章

firebase 云功能中带有 typescript 的 firebase-admin

找不到模块“firebase”或其相应的类型声明。 React + TypeScript + Firebase

Typescript 中的 React + Firebase 云功能无法部署

在 React 应用程序中为 Firebase 正确的 Typescript 类型

在 TypeScript 中包装 Firebase 承诺

Firebase + Typescript,无法从用户对象中获取 accessToken?