答案 0 :(得分:2)
在TypeScript中使用以下代码会导致实际上与您的目标相同的JavaScript ...
namespace MY_NAMESPACE {
export class AssetService {
}
}
结果代码:
var MY_NAMESPACE;
(function (MY_NAMESPACE) {
var AssetService = (function () {
function AssetService() {
}
return AssetService;
}());
MY_NAMESPACE.AssetService = AssetService;
})(MY_NAMESPACE || (MY_NAMESPACE = {}));
如果你想真的缩小范围,请切换到外部模块(AKA"模块"这些天)。
答案 1 :(得分:1)
如果你不从模块/文件中导出类,它将不会全局可见,即没有理由在类函数范围内包含类定义。
有关TS中模块的更多信息:https://www.typescriptlang.org/docs/handbook/modules.html