找不到模块“lodash”的声明文件

找不到模块“lodash”的声明文件

Could not find declaration file for module ‘lodash’

当 TypeScript 找不到 lodash 相关模块的类型声明时,会出现错误“找不到模块‘lodash’的声明文件”。要解决错误,请通过运行错误消息中的命令来安装模块的类型,例如npm install -D @types/lodash

找不到声明文件 lodash

错误消息显示出现错误时应尝试运行的命令。上面截图中的命令是:

npm i --save-dev @types/lodash

通常,类型包的名称是一致的 – @types/module-name,但您可以尝试使用官方的
TypeScript 类型搜索来查找定义包。

如果错误仍然存​​在,您正在导入的与 lodash 相关的第三方模块可能不提供类型,这意味着您需要在具有.d.ts扩展名的文件中声明该模块。

TypeScript.d.ts在查找常规文件的相同位置查找
.ts文件,这由文件中的includeexclude设置
决定
tsconfig.json

module-name.d.ts在您的常规 TypeScript 文件旁边创建一个名为的新文件,并向其中添加以下行。

模块名称.d.ts
declare module 'module-name';

确保替换module-name为导致错误的模块的名称。

This will set the type of the package to any when importing it. This should be sufficient for most use cases.

If you want to add your own type definitions for the package, replace the line
with the following code:

module-name.d.ts
declare module 'module-name' { export function myFunction(): string; }

The example shows how to add types for a function named myFunction that
returns a string.

You only need to add type definitions for the functions you intend to import in your code.

If this still doesn’t work, you should try to ignore the error by adding the
following lines above the import.

index.ts
// eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import { myFunction } from 'module-name';

Adding these lines above the import statement will suppress the error message.

Conclusion #

当 TypeScript 找不到 lodash 相关模块的类型声明时,会出现错误“找不到模块‘lodash’的声明文件”。要解决错误,请通过运行错误消息中的命令来安装模块的类型,例如npm install -D @types/lodash