Typescript - 封装 module/classes 因此无法从浏览器访问

Typescript - Encapsulating module/classes so it's not accessible from the browser

我正在寻找一种方法来编写我的 TypeScript 类,以便我可以只提供我想提供给浏览器的内容(全局范围),基本上是这样的:

myModule.Api

其中 Api 将包含一些可以从浏览器执行的 public 函数,但依赖于将要编写的其他函数是同一模块或子模块中的其他 类 -模块。

我需要这些 类 可以相互使用,但不能在浏览器全局范围内使用,只能通过 Api.

怎么办?我无法弄清楚如何在不使用 export 关键字直接将它们暴露给浏览器的情况下重用其他 类 的 类。

but wouldn't be usable from the browser

如果你想要超越文件边界的东西,你需要从文件中export

但是,如果您将所有内容都保存在一个文件中,则无需使用 export

module myModule.Api{
    var notExported = 0;
    export function exported(){
        return notExported + 1;
    }
}

我想指出 当使用外部模块时 每个文件都是它自己的模块,不会导出到浏览器,即 window : https://www.youtube.com/watch?v=KDrWLMUY0R0