Ich würde es jetzt vermeiden, /// <reference path='moo.ts'/>nur für externe Bibliotheken zu verwenden, in denen die Definitionsdatei nicht im Paket enthalten ist.
Das reference pathbehebt Fehler im Editor, bedeutet aber nicht wirklich, dass die Datei importiert werden muss. Wenn Sie einen Gulp-Workflow oder JSPM verwenden, versuchen diese möglicherweise, jede Datei separat anstatt tsc -outin eine Datei zu kompilieren .
Aus Typescript 1.5
Stellen Sie einfach das, was Sie exportieren möchten, auf Dateiebene voran (Stammbereich).
aLib.ts
{
export class AClass(){} // exported i.e. will be available for import
export valueZero = 0; // will be available for import
}
Sie können auch später am Ende der Datei hinzufügen, was Sie exportieren möchten
{
class AClass(){} // not exported yet
valueZero = 0; // not exported yet
valueOne = 1; // not exported (and will not in this example)
export {AClass, valueZero} // pick the one you want to export
}
Oder mischen Sie sogar beide zusammen
{
class AClass(){} // not exported yet
export valueZero = 0; // will be available for import
export {AClass} // add AClass to the export list
}
Für den Import haben Sie 2 Möglichkeiten, zuerst wählen Sie erneut aus, was Sie wollen (eine nach der anderen)
anotherFile.ts
{
import {AClass} from "./aLib.ts"; // you import only AClass
var test = new AClass();
}
Oder die ganzen Exporte
{
import * as lib from "./aLib.ts"; // you import all the exported values within a "lib" object
var test = new lib.AClass();
}
Hinweis zu den Exporten: Wenn Sie doppelt denselben Wert exportieren, wird ein Fehler ausgegeben {export valueZero = 0; export {valueZero}; // valueZero ist bereits exportiert…}