Есть ли у компилятора замыкания простой способ экспортировать класс и все его прототипы и статические методы и сохранять имена в виде открытого 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 прототипов, поэтому этот метод не является предпочтительным. Кто-нибудь знает, как экспортировать весь класс удобным способом?