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)
