找不到模块"Firebase-tools"的声明文件



我正在为Firebase编写我的第一个云函数,它需要firebase-tools模块。我通过将它添加到package.json文件中的依赖项中并运行npm install来安装它。

然后我尝试使用import * as tools from 'firebase-tools';导入它,但我得到了这个错误:

找不到模块"firebase tools"的声明文件c:/Users/LENOVO/Nouveau档案/functions/nod_module 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工具模块没有(.d.ts(文件。我发现在这种情况下我们有三种解决方案。

  • 安装@types/xxx←你已经做了,但它并不存在
  • 自制(.d.ts(文件←我不太清楚
  • 使用"require"而不是"import"←我就这样解决了。模块包括隐式导入为"any"类型

当ts lint提醒您"[tslint]require语句不是导入语句的一部分(无var要求("时,您可以通过注释"//tslint:disable next line:no var要求"忽略它

感谢您的阅读。

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

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

"dependencies": {
...
"firebase-admin": "^9.2.0",
"firebase-functions": "^3.13.1",
"firebase-tools": "^9.10.0"
},

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

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

尝试将"noImplicitAny": false,添加到tsconfig.json

最新更新