REQUIRED('node-Fetch')提供ERR_REQUIRED_ESM

2022-02-24 00:00:00 node.js fetch javascript npm

我只使用

const fetch = require('node-fetch')

我得到

Error [ERR_REQUIRE_ESM]: require() of ES Module C:UsersAlexDesktopollbot
ode_modules
ode-fetchsrcindex.js from C:UsersAlexDesktopollbotindex.js not supported.
Instead change the require of C:UsersAlexDesktopollbot
ode_modules
ode-fetchsrcindex.js in C:UsersAlexDesktopollbotindex.js to a 
dynamic import() which is available in all CommonJS modules.
{
  code: 'ERR_REQUIRE_ESM'
}

我的所有其他包都可以工作,只有节点获取可以做到这一点。要使用节点获取,我应该做些什么?


解决方案

来自node-fetchpackage readme:

节点获取是仅限ESM的模块-您不能使用导入它 需要。我们建议您继续使用v2,它是用CommonJS构建的 除非你自己使用ESM。我们将继续发布严重错误 已对其进行修复。

如果要require,请降级到v2。

另一个选项是使用异步import('node-fetch').then(...)

相关文章