闭包编译器是否有一种简单的方法能够导出一个类及其所有原型和静态方法并将名称保留为公共 API?默认情况下,高级选项会重命名所有变量,但您可以将内容导出到全局范围,例如:
window['MyClass'] = MyClass;
但是,这只会将 MyClass 导出到全局范围,所有原型和静态方法都被重命名。有人会认为您可以遍历原型并导出它们,但不:
for (var i in MyClass.prototype) {
window['MyClass'].prototype[i] = MyClass.prototype[i];
}
这不起作用。我知道的唯一方法是像这样手动添加它们:
window['MyClass'].prototype['myFunction'] = MyClass.prototype.myFunction;
我想公开大约 50 个原型,所以这种方法不是首选。有谁知道如何以方便的方式导出整个班级?