为什么我的全局 requirejs var 未定义?
Why is my global requirejs var undefined?
我有两个独立的应用程序。两者都使用 jQuery 一个 RequireJS。我想将应用程序A嵌入到应用程序B中,所以我将所需的HTML传递给应用程序B。应用程序B是edx-platform的实例(https://github.com/edx/edx-platform)。
目前一切顺利,但无法加载第二个应用。首先,我有两个带有 data-main 的脚本标签,但它不起作用。所以我搜索了一下,发现了这个:
到目前为止我看起来不错,但我的全局 requirejs 变量未定义。在 HTML edx-platform 中使用此代码调用 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 时也是未定义的。
好的,我知道为什么它是未定义的。 edX 还加载了未定义所有这些变量的文件。
现在我需要找到一种方法来获取我的代码 运行。
我有两个独立的应用程序。两者都使用 jQuery 一个 RequireJS。我想将应用程序A嵌入到应用程序B中,所以我将所需的HTML传递给应用程序B。应用程序B是edx-platform的实例(https://github.com/edx/edx-platform)。
目前一切顺利,但无法加载第二个应用。首先,我有两个带有 data-main 的脚本标签,但它不起作用。所以我搜索了一下,发现了这个:
到目前为止我看起来不错,但我的全局 requirejs 变量未定义。在 HTML edx-platform 中使用此代码调用 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 时也是未定义的。
好的,我知道为什么它是未定义的。 edX 还加载了未定义所有这些变量的文件。
现在我需要找到一种方法来获取我的代码 运行。