2015-06-12 9 views
6

Ich versuche TypeScript mit dem Standard-Aurelia-Skelett zu arbeiten, das auf System.JS als Loader basiert.Wie Laden von System.js-Modulen mit TypeScript?

Ich habe Probleme mit TypeScript, Modulimporte zu akzeptieren. Ich habe eine der Skelettdateien "nav-bar.js" in "nav-bar.ts" umbenannt, um zu sehen, ob ich das Beispiel in TypeScript umwandeln könnte. Der Code führt zu einem Compiler-Fehler: "Fehler: (5, 24) TS2307: Externes Modul 'aurelia-framework' kann nicht gefunden werden."

import {bindable} from "aurelia-framework"; 

export class NavBar { 
    //noinspection ES6Validation 
    @bindable router = null; 
} 

Wie bekomme ich TypeScript, um das Aurelia-Framework als gültigen Import zu sehen? Es gibt eine Datei im Stammverzeichnis des Projekts namens config.js, die die spezifische Position von "aurelia-framework" zu beschreiben scheint, aber TypeScript weiß nicht, wie man es lädt.

Vielen Dank im Voraus für Ihre Hilfe.

Antwort

5

Sie können d.ts Definitionsdateien für die Registrierung mit TypeScript Definiert Typed Registry für die Verwendung mit tsd-Paket-Manager verwenden. Sie können verschiedene Implementierungen auf github finden, zum Beispiel here oder here. Auch dieses tutorial könnte nützlich sein.

+2

Um hinzuzufügen, werden wir offizielle '.d.ts' Dateien in unseren nächsten Hauptversionen hinzufügen. –

+0

Die Links haben nützliche Informationen - es gibt anscheinend eine tsconfig.json Datei, die Orte wie "aurelia-framework" definiert. Die von Ihnen bereitgestellten Links haben jedoch Definitionen, die der letzten Aurelia-Version vom 9. Juni vorausgehen. Plant jemand, die Definitionen auf die aktuelle Aurelia-Version zu aktualisieren? Oder sollte ich die alten Definitionen verwenden? –

Verwandte Themen