Globalny zasięg shim config Require.JS?
Mam następujące ustawienia dla requireJS.
requirejs.config({
paths: {
'resources' : '/Scripts/resources'
},
shim: {
'resources': {
exports: 'LocalizedStrings'
}
}
});
A moje zasoby.JS wyglądają następująco:
LocalizedStrings = {
title: "Demo",
save: "Save"
}
Teraz, gdy ładuję zasoby jako zależności w pliku main.JS, mogę uzyskać dostęp do LocalizedStrings i działa.
//main.js
define(function(require){
var LocalizedStrings = require('resources');
console.log(LocalizedStrings); //works as expected
});
Jednak w innych modułach nie muszę ładować zasobów jako zależności, aby uzyskać dostęp do „LocalizedStrings”.
//othermodule.js
define(function(require){
console.log(LocalizedStrings); //works as expected even though resources dependency is not loaded
});
Nie rozumiem tutaj, czy załaduję plik JS za pomocą shim i wczytam go raz, czy stanie się on dostępny globalnie i nie muszę ponownie ładować tej samej zależności w innych modułach.