So importieren Sie plain JS in TypeScript (ohne Types)

9

Wir haben ein Projekt, das TypeScript mit ts-loader in Webpack verwendet. Für die meisten Dinge, die wir jetzt benutzt haben, gab es Typdefinitionen in Definitely Types (via typings ), aber nicht für den, den wir jetzt benutzen wollten : redux-auth .

Zuerst hatte ich keine module in tsconfig.json definiert und importiere sie über

%Vor%

resultierte in Cannot find module . Dann lesen wir, dass die Verwendung der CommonJS-Notation hilfreich sein kann, aber nicht, seit TS von den Mitgliedern des importierten Moduls nichts wusste ( Property 'EmailSignInForm' does not exist on type '{}' ). Die Verwendung des relativen Pfades macht auch nichts Sinnvolles.

Ich habe auch in diesen Artikel über TS gelesen 1.8 , dass es nun reine JS-Dateien unterstützen soll, erklärt aber nicht genau wie. allowJs ist aktiviert.

Wie importiere ich dieses Modul? Danke!

Dies ist unsere webpack.config.js:

%Vor%

Und unsere tsconfig.json:

%Vor%

(Das "module": "commonjs" war vorübergehend, um die CommonJS-Notation zu testen)

UPDATE:

Ok, wenn ich also declare var require: any verwende und den relativen Pfad in require() verwende, kann ich ihn importieren, obwohl ich bezweifle, dass dies der beabsichtigte Weg ist. Komischerweise bekomme ich jetzt diese Nachricht von Webpack:

%Vor%     
stroborobo 08.03.2016, 13:56
quelle

1 Antwort

2
%Vor%

Wenn Sie Typen für ein Modul haben, sollte die Code-Vervollständigung funktionieren und der Compiler wird annehmen, dass Sie wissen, was Sie tun. Ich denke, ts loader sollte das auch respektieren. Bitte testen Sie und lassen Sie es mich wissen.

    
qballer 22.08.2016 18:28
quelle

Tags und Links