在 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"
.
{ "compilerOptions": { "types": [ // ... your other types "node" ], }, }
这应该可以修复项目中的“找不到名称‘require’”错误。
如果这也没有帮助,请尝试require
在使用它的文件顶部声明为全局变量。
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 模块导入语法。
// 👇️ default import import myFunction from 'some-module'; // 👇️ named import import { myFunction } from 'some-module';
第一个示例展示了如何导入默认导出,第二个示例展示了如何导入命名导出。
如果您尝试导入自己的本地文件之一,则应使用相对路径。
// 👇️ 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
为全局变量。