Poniższy tekst przedstawia prawidłowy, działający ES5, ale podaje poniżej błąd. Używam maszynopisu 1.7.5 i myślę, że przeczytałem specyfikację całego języka i nie mogę zrozumieć, dlaczego ten błąd został wygenerowany.Jak zaimportować moduł CommonJS, który używa modułu.exports = w Opisie maszynowym
error TS2349: Cannot invoke an expression whose type lacks a call signature.
a.js (moduł otoczenia ES5 z domyślną eksportu)
function myfunc() {
return "hello";
}
module.exports = myfunc;
a.d.ts
declare module "test" {
export default function(): string;
}
b.ts
import test = require("test");
const app = test();
b.js (wygenerowane ES5):
var test = require("test");
var app = test()
Co to jest linia błędu? –
Linia 2 testu.ts. at test() – drewlio
BTW, dość mylące, że twój post używa nazwy bazowej "test" dla wszystkich trzech twoich plików. Trzeci plik, który importuje "./test" i nazywa się "test.ts", z pewnością jest czymś innym. :) –