Я работаю с предварительно созданным клиентским приложением, написанным с помощью Dojo 1.8 (стиль AMD), который мне нужно расширить.Dojo: переопределить предварительно загруженный модуль
У меня есть доступ к исходному коду, но вы можете оставить его неизменным, где это возможно, и вместо этого использовать переопределения (как работает фреймворк приложения, все остальное будет взломом).
Мой скрипт загружается только после базового сценария приложения. Я не могу изменить djConfig, например, и ничего другого, что могло бы произойти до загрузки базовых модулей приложения.
Вот мой вопрос: я хотел бы расширить один из базовых классов приложений (создан с объявлением) и применить мои переопределения глобально - даже на предварительно загруженных модулях, которым уже нужен модуль, содержащий этот класс (но еще не его экземпляр).
До сих пор лучшим решением, которое я нашел, является использование require() для псевдонима модуля, содержащего класс. Но это работает только с модулями, которым требуется класс после того, как я смог зарегистрировать псевдоним.
Лучший способ это просто переопределить прототип модуль, который вы хотите отредактировать. вы можете сделать это с прототипом напрямую или с dojo.extend. Также посмотрите вверх, «исправление обезьяны додзе» – tik27