require JS require функция имеет имя модуля без определения - PullRequest
0 голосов
/ 13 марта 2020

Я пытаюсь понять этот фрагмент кода

    require(['mifosXComponents'], function (componentsInit) {
        componentsInit().then(function(){
            require(['test/testInitializer'], function (testMode) {
                if (!testMode) {
                    angular.bootstrap(document, ['MifosX_Application']);
                }
            });
        });
    });

Код находится в код клиента mifosX . Я считаю, что это точка входа в программное обеспечение веб-клиента mifosX. Я действительно смущен синтаксисом require здесь. Весь онлайн-пример кода, который я видел, похож на require(["a", "b"], function (a, b){});. Другими словами, список параметров внутри function() все перечислены внутри зависимости [] прямо перед ним. Однако код, который я вставил выше, имеет componentsInit внутри function(). И я не смог найти никакого места в дереве исходного кода, в котором определен componentsInit .....

Я пытаюсь понять, что такое logi c flow code mifosX. Я новичок в Javascript и требую JS. Пожалуйста, помогите мне понять это, если вы знаете, что здесь происходит. Заранее спасибо!

1 Ответ

2 голосов
/ 13 марта 2020

Вот ваш код с некоторыми комментариями, которые прояснят:

// in the first line you are requiring a module with id `mifosXComponents`
// which then is passed to the callback as `componentsInit`
require(['mifosXComponents'], function (componentsInit) {
    // seems that `componentsInit` is a function which returns a Promise object,
    // so your are passing a callback to it to execute it after its fulfilment 
    componentsInit().then(function(){
        // when the promise is fulfilled, you are requiring another module
        // with id `test/testInitializer` which is passed to callback as `testMode`
        require(['test/testInitializer'], function (testMode) {
            // next lines are pretty simple to understand :)
            if (!testMode) {
                angular.bootstrap(document, ['MifosX_Application']);
            }
        });
    });
});

Об Promise вы можете прочитать здесь: Что означает функция then () в JavaScript?

...