在Node.js中导入:错误信息:"必须使用import来加载ES模块"。

8 浏览
0 Comments

在Node.js中导入:错误信息:"必须使用import来加载ES模块"。

这个问题已经在此处有答案了:

SyntaxError: Cannot use import statement outside a module

我试图从hello.js中导入myArrindex.js中。然而我得到了一个错误的信息:

Error [ERR_REQUIRE_ESM]: Must use import to load ES Module

文件hello.js中:

export let myArr = ['hello', 'hi', 'hey'];

文件index.js中:

import { myArr } from './hello.js';
console.log(myArr);

我做错了哪里?

admin 更改状态以发布 2023年5月23日
0
0 Comments

我没有遇到任何问题就运行了你的代码。请注意以下两点:

  1. Node.js 版本 >= 14。它只能与 Node.js 的最新版本一起使用。
  2. 确保你的 package.json 文件中包含一行代码 "type": "module"。如果没有这行代码,Node.js 会默认你想使用 CommonJS 模块而非 ESM 模块。
0
0 Comments

使用版本2:

npm install node-fetch@2

从v3开始,node-fetch 是一个仅支持ESM的模块,您不能使用 require() 导入它。

如果您无法切换到 ESM,请使用与 CommonJS 兼容的 v2 版本。v2 版本将继续发布关键的错误修复。

0