У меня есть два отдельных приложения. Оба используют jQuery и RequireJS. Я хочу встроить приложение A в приложение B, поэтому я передаю необходимый HTML в приложение B. Приложение B является экземпляром edx-платформы (https://github.com/edx/edx-platform).
Пока все хорошо, но второе приложение не загружается. Сначала у меня были оба тега script с data-main, но это не работает. Итак, я искал и нашел это: https://stackoverflow.com/a/10839885
Пока я выгляжу хорошо, но моя глобальная переменная requirejs не определена. В HTML-платформе edx вызывается RequireJS с помощью этого кода:
<script>
window.baseUrl = "/static/";
(function (require) {
require.config({
baseUrl: window.baseUrl
});
}).call(this, require || RequireJS.require);
</script>
<script type="text/javascript" src="/static/lms/js/require-config.js"></script>
<script type="text/javascript">
(function (require) {
require.config({
paths: {
'js/courseware/courseware_factory': 'js/courseware/courseware_factory',
'draggabilly': 'js/vendor/draggabilly',
'js/courseware/toggle_element_visibility': 'js/courseware/toggle_element_visibility',
'js/courseware/course_home_events': 'js/courseware/course_home_events',
'js/courseware/link_clicked_events': 'js/courseware/link_clicked_events',
'moment': 'common/js/vendor/moment-with-locales',
'moment-timezone': 'common/js/vendor/moment-timezone-with-data',
'js/student_account/logistration_factory': 'js/student_account/logistration_factory',
'js/groups/views/cohorts_dashboard_factory': 'js/groups/views/cohorts_dashboard_factory',
'js/dateutil_factory': 'js/dateutil_factory',
'js/courseware/accordion_events': 'js/courseware/accordion_events',
'js/bookmarks/views/bookmark_button': 'js/bookmarks/views/bookmark_button',
'js/views/message_banner': 'js/views/message_banner',
'js/student_profile/views/learner_profile_factory': 'js/student_profile/views/learner_profile_factory'
}
});
}).call(this, require || RequireJS.require);
</script>
Мой код включен позже. Я попытался запустить простой console.log(requirejs)
, но это не сработало. requirejs также не определен при вызове из консоли разработчика.