typescript - Kan jag importera en funktion som exporterats av ES5 i {...}


Jag har en ES5-modul som exporterar en enkel funktion på detta sätt

var sum = function(a, b) {
  return a + b;
}

module.exports = sum;
module.exports.default = sum;

Jag har ett TypeScript-modul som importerar sum-funktionen, men det fungerar bara om jag importerar den utanför {...} eller använder nyckelordet 'default as sum' om jag vill sätta den inuti {...} på detta sätt

// This works
import sum from './sum';

// This works too
// import { default as sum } from './sum'; 

// This doesn't work (I want this to work but don't know how)
// import { sum } from './sum'; 

console.log(sum(1, 2));

Finns det något sätt (kanske ändra ES5-modulen) så att jag kan importera den som { sum } och att det skulle fungera? Alla förslag är mer än välkomna.

Se koden i aktion i Stackblitz: https://stackblitz.com/edit/import-es5-export-function-using-brackets

Svar #1

allt du behövde göra var att använda module.exports så här:

module.exports = {sum}

här fungerar det