Сначала немного истории, у нас есть движок, который состоит из многих файлов javascript, которые по существу являются модулями. Эти модули возвращают один класс, который присваивается глобальной области действия, хотя и под указанным пространством имен.Как модуль Javascript, определенный с AMD, будет расширен?
Само устройство используется для отображения содержимого электронного обучения с каждым разным курсом eLearning, требующим немного разных потребностей, в котором мы включаем файлы javascript на страницу, основываясь на необходимой функциональности. (Существует только одна страница входа).
Я пытаюсь взвесить, если это стоит изменить на AMD, require.js и r.js, или если лучше остановиться с нашей текущей системой, которая включает все необходимое на странице и сводит к минимуму ее в один скрипт.
Одна из моих самых больших проблем с выходом в AMD будет заключаться в том, что сложнее расширить класс. Например, иногда нам приходится слегка корректировать поведение исходного класса. Таким образом, мы добавляем еще один скрипт на странице, которая расширяет исходный класс, копируя оригинальный прототип, выполняйте оригинальную функцию, которая переопределяется с помощью приложения, а затем выполняет любой дополнительный код.
Можете ли вы расширить модуль AMD без адаптации исходного файла? Или я пропущу точку, и нам лучше оставаться с тем, что мы делаем сейчас?
Привет, Джозеф, спасибо за ваш ответ, но это не вопрос, который я задавал. Вы создаете экземпляры исходного конструктора.Я хотел бы иметь определение say 'engine', которое используется в определении для другого элемента, скажем, 'contentScreen'. Однако между определением «двигатель» и созданием «contentScreen» я хотел бы немного расширить «движок». –
@John_, что вы подразумеваете под «растяжением»? построив модифицированный конструктор и затем используя этот модифицированный конструктор? [это может помочь] (http://stackoverflow.com/a/10101604/575527) – Joseph
По сути да, я не хочу создавать новый класс, который расширяет оригинал, я действительно хочу расширить оригинал и использовать его, потому что, насколько все остальное, это все тот же класс. Насколько я могу судить, я не могу сделать это с AMD? –