node.js - Typescript-feil ved bruk av require - Dette uttrykket kan ikke kalles. Type 'typeof import(...)' har ingen kall-signaturer.ts(2349)


Jeg prøver å kjøre dette skriptet

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

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

test();

Men jeg får denne feilen

Dette uttrykket kan ikke kalles. Typen 'typeof import("(...)/node_modules/node-fetch/@types/index")' har ingen kallbare signaturer.ts(2349)

selv om det fungerer når jeg bruker import

import fetch from 'node-fetch';

hvorfor og hvordan fikse det?

Svar #1

I henhold til spenderens kommentar, kan du endre require til å bruke denne destruktureringen:

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

Dette har fungert for meg i en lignende situasjon (bruker axios i node, som har en lignende API)

Relaterte artikler