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