Require.JS Shim Config globalen Bereich?

Ich habe folgendes Setup für requireJS.

requirejs.config({
     paths: {
            'resources' : '/Scripts/resources'
     },
     shim: {
             'resources': {
                           exports: 'LocalizedStrings'
           }
     }
});

Und meine resources.JS sehen so aus:

LocalizedStrings = {
                    title: "Demo",
                    save: "Save"
}

Wenn ich nun Ressourcen als Abhängigkeit in die main.JS-Datei lade, kann ich auf LocalizedStrings zugreifen und es funktioniert.

//main.js
define(function(require){
    var LocalizedStrings = require('resources');
    console.log(LocalizedStrings); //works as expected
});

In anderen Modulen muss ich die Ressourcen jedoch nicht unbedingt als Abhängigkeit für den Zugriff auf 'LocalizedStrings' laden.

//othermodule.js
define(function(require){
    console.log(LocalizedStrings); //works as expected even though resources dependency is not loaded
});

Was ich hier nicht verstehe, ist, wenn ich eine JS-Datei mit shim lade und sie einmal lade, sie global verfügbar wird und ich dieselbe Abhängigkeit in anderen Modulen nicht erneut laden muss.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage