如何使用创建类的实例而不导入它

时间:2015-10-23 01:58:28

标签: typescript breeze typescript1.6

我使用import语句在我的TypeScript应用程序中导入大多数类:

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{...}

不必使用导入/导出语句似乎要简单得多,但我不知道如何实现这一点。

1 个答案:

答案 0 :(得分:2)

  

我不明白这是怎么回事。有一个针对微风的.d.ts文件,但我没有看到它在项目的任何地方被导入

如果库污染(使用)全局命名空间,它将起作用。当前的微风定义:https://github.com/borisyankov/DefinitelyTyped/blob/44cbde48eecd1918ed54b3be49a9752688b6c65a/breeze/breeze.d.ts在全球范围内有效。它是一个全局模块,因为根级别more)没有import/export

运行时也是如此(通过添加到window)。