使用 AWS 设置覆盖工厂时出现 OpenEDX RequireJS 错误

OpenEDX RequireJS error when overriding factory with AWS setting

我在部署到服务器而不是 devstack 时遇到 OpenEDX 问题。在 devstack 上,覆盖工作完美,尽管在 dev 上无法加载。

我正在覆盖 student_account/account_settings.html 以及 student_account/views/account_settings_factory.jsstudent_account/views/account_settings_view.js

加载 LMS 的帐户部分时,在生产环境中会产生以下错误,但在开发环境中不会:

Mismatched anonymous define() module: function(gettext, $, _, Backbone, Logger, UserAccountModel, UserPreferencesModel,
                 AccountSettingsFieldViews, AccountSettingsView, StringUtils) {
        return function(
            fieldsData,
            ordersHistoryData,
            authData,
            passwordResetSupportUrl,
            userAccountsApiUrl,
            userPreferencesApiUrl,
            accountUserId,
            platformName,
            contactEmail,
            allowEmailChange
        ) {
            var accountSettingsElement, userAccountModel, userPreferencesModel, aboutSectionsData,
                accountsSectionData, ordersSectionData, accountSettingsView, showAccountSettingsPage,
                showLoadingError, orderNumber, getUserField, userFields, countryDropdownField, emailFieldView;

            accountSettingsElement = $('.wrapper-account-settings');

            userAccountModel = new UserAccountModel();
            userAccountModel.…

我工厂中的定义如下所示:

(function(define, undefined) {
'use strict';
define([
    'gettext', 'jquery', 'underscore', 'backbone', 'logger',
    'js/student_account/models/user_account_model',
    'js/student_account/models/user_preferences_model',
    'js/student_account/views/account_settings_fields',
    'academy/js/student_account/views/account_settings_view',
    'edx-ui-toolkit/js/utils/string-utils'
], function(gettext, $, _, Backbone, Logger, UserAccountModel, UserPreferencesModel,
             AccountSettingsFieldViews, AccountSettingsView, StringUtils) {

如前所述,在开发中完美运行,但在生产中抛出错误。希望有人知道这个问题的解决方案。

问题是因为在 AWS 摊铺机设置中,出于某种原因,自定义工厂需要进行优化,这可以通过覆盖 lms 的 build.js 文件来完成。这个问题在文档中的任何地方都不是很清楚,因此很难得出这个结论。