导入 fs 模块时出现“ReferenceError: require is not defined”

问题描述

我是 NodeJS 的新手。我在 NodeJS 中导入了“fs”模块,结果发生了。

enter image description here

这是因为当前版本中的新导入语法吗? 出了什么问题?

提前致谢!

解决方法

这是因为有东西告诉 nodejs 这是较新的 ESM 模块。这可能是您的 package.json 文件或其他文件。在 ESM 模块文件中,您使用 import 而不是 require() 来加载模块。

您可以在堆栈跟踪中看到它显示 Object.loadESM 的位置,这就是您知道它正在尝试将此模块加载为 ESM 模块的方式。

使用 ESM 模块,您可能需要:

import fs from "fs";

import * as fs from'fs';

或者,如果您打算改用 CommonJS 模块(您可以在其中使用 require()),那么我们需要查看您的 package.json 文件以找出加载程序尝试将您的文件作为ESM 模块。