node.js - Typescript-fel när du använder require - Det här uttrycket kan inte anropas. Typen 'typeof import(...)' har inga anropssignaturer.ts(2349)


Jag försöker köra det här skriptet

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

function test() {
  fetch('https://google.com')
    .then(res => res.text())
    .then(text => console.log(text))
}

test();

Men jag får detta fel

Detta uttryck kan inte anropas. Typen 'typeof import("(...)/node_modules/node-fetch/@types/index")' har inga anropssignaturer.ts(2349)

även om det fungerar när jag använder import

import fetch from 'node-fetch';

varför och hur man åtgärdar det?

Svar #1

Enligt spenderarens kommentar kan du ändra require för att använda denna destrukturering:

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

Detta har fungerat för mig i en liknande situation (med att använda axios i node, som har ett liknande API)

Relaterade artiklar