Unikałbym teraz używania, /// <reference path='moo.ts'/>ale dla bibliotek zewnętrznych, w których plik definicji nie jest zawarty w pakiecie.
W reference pathrozwiązuje błędy w edytorze, ale tak naprawdę nie oznacza potrzeby importowanego pliku. Dlatego jeśli używasz przepływu pracy gulp lub JSPM, mogą one próbować skompilować osobno każdy plik zamiasttsc -out jednego pliku.
Z maszynopisu 1.5
Po prostu wpisz przedrostek, który chcesz wyeksportować na poziomie pliku (zakres główny)
aLib.ts
{
export class AClass(){} // exported i.e. will be available for import
export valueZero = 0; // will be available for import
}
Możesz także dodać później na końcu pliku to, co chcesz wyeksportować
{
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
}
Lub nawet połącz oba razem
{
class AClass(){} // not exported yet
export valueZero = 0; // will be available for import
export {AClass} // add AClass to the export list
}
W przypadku importu masz 2 opcje, najpierw wybierasz ponownie to, co chcesz (jedna po drugiej)
anotherFile.ts
{
import {AClass} from "./aLib.ts"; // you import only AClass
var test = new AClass();
}
Albo cały eksport
{
import * as lib from "./aLib.ts"; // you import all the exported values within a "lib" object
var test = new lib.AClass();
}
Uwaga dotycząca eksportu: eksport dwukrotnie tej samej wartości spowoduje błąd {export valueZero = 0; eksportuj {valueZero}; // wartość valueZero została już wyeksportowana…}