【发布时间】:2020-08-10 02:40:12
【问题描述】:
我正在为 Firebase 编写我的第一个云函数,它需要 firebase-tools 模块。我通过将它添加到 package.json 文件中的依赖项并运行 npm install 来安装它。
然后我尝试使用import * as tools from 'firebase-tools'; 导入它,但出现此错误:
找不到模块“firebase-tools”的声明文件。 'c:/Users/LENOVO/Nouveau dossier/functions/node_modules/firebase-tools/lib/index.js' 隐含了一个 'any' 类型。 尝试
npm install @types/firebase-tools(如果存在)或添加一个包含 `declare module 'firebase-tools' 的新声明 (.d.ts) 文件;
我也尝试运行npm install @types/firebase-tools,但显然它不存在,我不确定我应该在这个模块的 (.d.ts) 文件中放入什么。
所以我想问是否有其他解决方案,如果我需要创建一个 (.d.ts) 文件,我应该在 declare module 'firebase-tools 旁边放什么。
【问题讨论】:
-
嘿,firebase-tools 是一个命令行界面工具,不包含在 package.json 中。只需运行“npm install -g firebase-tools”即可安装工具。现在使用“firebase init”创建一个新的 firebase 项目。存在完整的文档here
-
嘿Akshay,感谢您的回答。但我已经这样做了,但它仍然不起作用。我在 package.json 文件中包含了依赖项,因为这是他们在此链接中所做的:github.com/firebase/snippets-node/blob/master/firestore/…。据说这里也可以作为模块使用:npmjs.com/package/firebase-tools。我不确定我错过了什么,如果我错了,请纠正我。
-
你能分享一下是什么不工作吗?你需要这个包做什么?
-
当我尝试导入包时,我收到一条错误消息,指出该包没有声明文件。我正在尝试为 Firebase 编写一个云函数,它可以删除 Firestore 的集合及其子集合,并且我发现这需要这个包。当我打开已安装的软件包的 lib 文件夹时,有一个名为 'firestore' 的文件夹和一个名为 'delete' 的 JavaScript 文件,所以我想这就是我所需要的。其他包有自己的声明文件扩展名(.d.ts),但这个没有。
-
大家好,文档here 明确表示我们需要在云函数中使用firebase-tools。但由于我的云功能是 TS,我也对如何执行它感到困惑。
标签: node.js typescript firebase google-cloud-functions firebase-tools