首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到模块“firebase-tools”的声明文件

找不到模块“firebase-tools”的声明文件
EN

Stack Overflow用户
提问于 2020-04-26 15:51:27
回答 2查看 3.4K关注 0票数 11

我正在为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‘隐式有“任意”类型。如果存在npm install @types/firebase-tools,可以尝试使用它,或者添加一个新的声明(.d.ts)文件,该文件包含“声明模块”、“firebase-tools”;

我也尝试过运行npm install @types/firebase-tools,但显然它并不存在,我不确定我应该为这个模块在(.d.ts)文件中放什么。

因此,我在问是否有另一种解决方案,如果我需要创建一个(.d.ts)文件,我应该在declare module 'firebase-tools之外放置什么。

EN

回答 2

Stack Overflow用户

发布于 2020-05-10 09:30:38

我也有同样的问题。问题是防火墙工具模块没有(.d.ts)文件。我发现在这种情况下我们有3种解决方案。

  • 安装@types/xxx←您已经完成了,但它并不存在。我不太了解
  • 自制(.d.ts)文件←。
  • 使用"require“代替”导入“←--我隐式地将这个way.The模块作为”任意“类型导入。

当ts-lint警告您"tslint require语句(不是import语句的一部分)(no-var-require)“时,您可以通过注释"// tslint:禁用-下一行:no-var-require”忽略它。

感谢您的阅读。

票数 9
EN

Stack Overflow用户

发布于 2021-04-30 23:41:21

我解决这个问题的方法是:

首先,将"firebase-tools": "^9.10.0"添加到/functions目录下的package.json中,如下所示:

代码语言:javascript
复制
"dependencies": {
...
"firebase-admin": "^9.2.0",
"firebase-functions": "^3.13.1",
"firebase-tools": "^9.10.0"
},

然后,在函数代码中使用require而不是import,如下所示:

const firebase_tools = require('firebase-tools');

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61443687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档