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

时间:2021-01-22 06:56:47

标签: node.js require

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

enter image description here

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

提前致谢!

1 个答案:

答案 0 :(得分:1)

这是因为有东西告诉 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 模块。