Importieren Sie die js-Datei mit TypeScript 2.0

Abstrakte

Ich versuche zu importieren ".js" - Datei von einem externen Standort (z.B. node_modules) ich bin versucht, dies zu tun mit commonjs-Modul-Muster, jedoch import würde nicht wollen, um mit zu arbeiten ".js" - Datei-Typen, bis ich hinzufügen ".d....ts" Datei " in der Nähe ".js" - Datei in den gleichen Ordner.

Aber das problem ist, dass ich würde nicht wollen, um Einfluss auf node_modules mit meinem ".d....ts" Dateien. Ich will, dass es sich in einem anderen Ordner, getrennt von node_modules aber sobald ich das mache, typescript compiler eine Fehlermeldung aus:

Beispiel

Habe ich die folgende Ordner-Struktur:

|- DTS
|   |- y.d.ts
|- main.ts
|- y.js

y.js hat den folgenden Inhalt

module.export = function (x) {
    console.log(x);
};

y.d....ts hat den folgenden Inhalt

export interface Y {
    (x): any;
}
declare let y: Y;
export default y;

main.ts hat den folgenden Inhalt

import * as y from './y'

Wenn ich jetzt versuche zu kompilieren main.ts mit:

tsc -m commonjs -t ES2015 main.ts

Bekomme ich eine Fehlermeldung:

x.ts(1,20): error TS2307: Cannot find module './y'.

Frage

Importieren ".js" - Dateien und in der Lage sein, Sie zu definieren ".d....ts" Erklärungen, während die beiden Dateien, die sich in verschiedenen Orten.


Bearbeiten

Hier ist der link zum Beispiel-Projekt. Werden Sie sicher, dass Typoskript-version 2.0-compiler. Und die tsc Befehl von oben, um den Fehler anzuzeigen.

Kommentar zu dem Problem - Öffnen
Haben Sie versucht, darunter eine Zeile wie die folgende am Anfang der main.ts? /// <reference path="./DTS/y.d....ts" /> Kommentarautor: TAGraves
Das habe ich aber es hilft nicht, mit andernfalls import das funktioniert nur, wenn ich d....ts - Datei in demselben Verzeichnis. Aber ich will nicht zu tun, weil eine solche Handlung beeinflussen externes Modul, welches ich herunterladen durch npm, so gibt es einen anderen Weg, um in der Lage sein, sowohl import js-Datei und geben Sie d....ts Datei, wenn Sie sich in verschiedenen Ordnern befinden? Kommentarautor: Lu4

InformationsquelleAutor der Frage Lu4 | 2016-07-18

Schreibe einen Kommentar