Я импортирую большинство классов в моем приложении TypeScript с оператором import:
import {Logger, getLogger} from "aurelia-logging";
import {HttpResponseMessage} from "aurelia-http-client";
class ErrorHandler {
logger:Logger = getLogger("Error-Handler");
handleError(message: any) : void {
this.logger.error(message);
}
handleHttpError(response: HttpResponseMessage) {
this.logger.error(response.content.error_description);
}
}
Тем не менее, я нашел пример кода, который работает, который делает это:
entityManager = new breeze.EntityManager(Settings.serviceName);
Однако бриз не импортируется нигде.
Я не понимаю, как это работает. Существует файл.d.ts для бриза, но я нигде не вижу, чтобы он был импортирован в любом месте проекта. Visual Studio распознает "ветерок" как пространство имен, а EntityManager - как класс. Я считаю, что это происходит непосредственно из TDF.
class EntityManager {...}
Также класс не экспортируется. Я думал, что его нужно экспортировать:
export class EntityManager{...}
Кажется намного проще не использовать инструкции импорта/экспорта, но я не понимаю, как это достигается.
Я не понимаю, как это работает. Существует файл.d.ts для бриза, но я не вижу нигде, что он импортируется в любом месте проекта
Он будет работать, если библиотека загрязняет (использует) глобальное пространство имен. Текущее определение бриза: https://github.com/borisyankov/DefinitelyTyped/blob/44cbde48eecd1918ed54b3be49a9752688b6c65a/breeze/breeze.d.ts работает по всему миру. Его глобальный модуль, так как нет import/export
на корневом уровне (подробнее).
Среда выполнения тоже (добавив в window
).