node-fetch --导入类型(“[...]/node-fetch/index”)"没有调用签名

u5rb5r59  于 2023-02-03  发布在  Node.js
关注(0)|答案(1)|浏览(229)

从此处复制:我https://github.com/node-fetch/node-fetch#json的验证码:

const fetch = require('node-fetch');

async function doFetch() {
    const response = await fetch('https://api.github.com/users/github');
    const data = await response.json();

    console.log(data);
}

doFetch()

错误消息--引用fetch('https://...)调用:

This expression is not callable.
Type 'typeof import("[...]/node_modules/@types/node-fetch/index")' has no call signatures.

我搜索了这个网站和其他网站,这个错误似乎在许多模块中很常见,尽管我只能找到使用import而不是require的示例的修复方法。我猜这很简单,但我只是不知道如何使用require语法修复这个错误。
我做错什么了?先谢了!

  • 如果有关系:Mac上的JavaScript(非TypeScript). node.js. VSCode。错误消息由dbaeumer.vscode-eslint插件生成。*
oxiaedzo

oxiaedzo1#

实际文件说:
v3中的node-fetch是一个仅适用于ESM的模块-您无法使用require()导入它
(even复制自的位置现在使用import
所以你应该用import的方法

import fetch from 'node-fetch';

如果你真的坚持require的方式,使用这个黑客:

const {default: fetch} = require('node-fetch');

相关问题