TypeScript和类似JS的单例模式

时间:2013-11-04 15:47:21

标签: javascript typescript

我需要在TypeScript中实现Singleton模式。我找到了一个解决方案here,但对我来说这似乎有点过头了。毕竟,JavaScript非常适合创建单例。

是否可以像这样写入TypeScript(没有出错)?

module Helpers {
    Helpers.Singleton = {};
}

目前,它正确生成了我期望的输出:

// Module
var Helpers;
(function (Helpers) {
    Helpers.Singleton = {};
})(Helpers || (Helpers = {}));

但是为什么我的VisualStudio中的TypeScript编译器会抱怨它(它在第2行说它“找不到符号'助手'。”?是否有可能以另一种方式写出来?

Left side shows generated code, right side illustrates the error highlight by VisualStudio

1 个答案:

答案 0 :(得分:10)

module Helpers {
    export module Singleton {
        export var etc = 4;
        export function printSomething() {
            // etc
        }
    }
}

// later...
Helpers.Singleton.printSomething();