在 TypeScript 中找不到名称“require”错误

在 TypeScript 中找不到名称“require”错误

Cannot find name ‘require’ Error in TypeScript

要解决“无法找到需要的名称”错误,请node通过运行安装类型npm i -D @types/node如果错误没有解决,你可以在你的项目中使用
declare var require: any声明require为全局变量。

找不到名称要求

您需要做的第一件事是确保安装了 Node.js 的类型。在项目的根目录中打开终端并运行以下命令。

npm i -D @types/node

如果错误仍未解决,请尝试重新启动 IDE。

如果这没有帮助,请确保文件中的types数组tsconfig.json包含"node".

tsconfig.json文件
{ "compilerOptions": { "types": [ // ... your other types "node" ], }, }

这应该可以修复项目中的“找不到名称‘require’”错误。

如果这也没有帮助,请尝试require在使用它的文件顶部声明为全局变量。

索引.ts
declare var require: any

declare var
语法用于声明一个全局变量

如果错误未解决,请尝试删除您的node_modules
package-lock.json文件,重新运行npm install并重新启动您的 IDE。

rm -rf node_modules package-lock.json npm install

如果错误仍然存​​在,请确保重新启动 IDE。VSCode 经常出现故障,有时重启可以解决问题。

如果这也不能解决您的问题,您可以尝试将require
语法转换为 ES6 模块导入语法。

索引.ts
// 👇️ default import import myFunction from 'some-module'; // 👇️ named import import { myFunction } from 'some-module';

第一个示例展示了如何导入默认导出,第二个示例展示了如何导入命名导出。

如果您尝试导入自己的本地文件之一,则应使用相对路径。

索引.ts
// 👇️ default import import myFunction from './my-module'; // 👇️ named import import { myFunction } from './my-module';

通常,在使用 TypeScript 时,您应该坚持使用 ES6 模块导入/导出语法。一旦你的代码被编译,它仍然会被转换成一个更旧的、更广泛支持的语法。

结论

要解决“无法找到需要的名称”错误,请node通过运行安装类型npm i -D @types/node如果错误没有解决,你可以在你的项目中使用
declare var require: any声明require为全局变量。

发表评论