2

我需要在 TypeScript 中实现单例模式。我在这里找到了解决方案,但这对我来说似乎有点过头了。毕竟,JavaScript 在创建单例方面非常出色。

是否可以在 TypeScript 中编写类似这样的内容(不会出现错误)?

module Helpers {
    Helpers.Singleton = {};
}

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

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

但是为什么我的 VisualStudio 中的 TypeScript 编译器会抱怨这一点(它在第 2 行说它“找不到符号 'Helpers'。”!)?可以用另一种方式写吗?

左侧显示生成的代码,右侧显示 VisualStudio 的错误突出显示

4

1 回答 1

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

// later...
Helpers.Singleton.printSomething();
于 2013-11-04T16:34:12.603 回答