Я бы не использовал сейчас, /// <reference path='moo.ts'/>но для внешних библиотек, где файл определения не входит в пакет.
В reference pathРешает ошибки в редакторе, но это не означает , что на самом деле потребности файлов , которые необходимо импортировать. Поэтому, если вы используете рабочий процесс gulp или JSPM, они могут попытаться скомпилировать каждый файл отдельно, а не tsc -outв один файл.
Из машинописного текста 1.5
Просто введите префикс того, что вы хотите экспортировать на уровне файлов (корневая область)
aLib.ts
{
export class AClass(){} // exported i.e. will be available for import
export valueZero = 0; // will be available for import
}
Вы также можете добавить позже в конце файла, что вы хотите экспортировать
{
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
}
Или даже смешать оба вместе
{
class AClass(){} // not exported yet
export valueZero = 0; // will be available for import
export {AClass} // add AClass to the export list
}
Для импорта у вас есть 2 варианта, сначала вы выбираете то, что вы хотите (один за другим)
anotherFile.ts
{
import {AClass} from "./aLib.ts"; // you import only AClass
var test = new AClass();
}
Или весь экспорт
{
import * as lib from "./aLib.ts"; // you import all the exported values within a "lib" object
var test = new lib.AClass();
}
Примечание относительно экспорта: экспорт дважды одного и того же значения вызовет ошибку {export valueZero = 0; export {valueZero}; // valueZero уже экспортирован ...}