Jak rozwiązać zależność kołową w Require.js?

Zasadniczo chodzi o to, że moduł „sub” tworzy obiekt, a ten obiekt powinien być częścią biblioteki narzędzi, która jest modułem „głównym”. Jednak obiekt „sub”zależy na narzędziach z „głównego”:

// Main module
define(['sub'], function(sub) {
    var utils = {
        utilityMain: function () {
           // ...
        };
        // ...
    };

    tools.subModule = sub;

    return tools;
});

// Sub module
define(['main'], function(main) {
    return new (function () {

        // Singleton object using functions in main module
        var somestuff = function () {
            main.utilityMain();
            // etc
        };
    })();
});   

Jak mogę to osiągnąć za pomocą require.js bez tworzenia czarnej dziury, która połknie całą planetę?

Dziękuję Ci bardzo.

questionAnswers(1)

yourAnswerToTheQuestion