Ich habe das requirejs- Dokument von hier API gelesen
requirejs.config({
shim: {
'backbone': {
//These script dependencies should be loaded before loading
//backbone.js
deps: ['underscore', 'jquery'],
//Once loaded, use the global 'Backbone' as the
//module value.
exports: 'Backbone'
},
'underscore': {
exports: '_'
},
'foo': {
deps: ['bar'],
exports: 'Foo',
init: function (bar) {
//Using a function allows you to call noConflict for
//libraries that support it, and do other cleanup.
//However, plugins for those libraries may still want
//a global. "this" for the function will be the global
//object. The dependencies will be passed in as
//function arguments. If this function returns a value,
//then that value is used as the module export value
//instead of the object found via the 'exports' string.
return this.Foo.noConflict();
}
}
}
});
aber ich bin nicht immer Shim Teil davon. Warum sollte ich Shim verwenden und wie sollte ich konfigurieren? Kann ich mehr Klarheit bekommen?
Bitte kann jemand anhand eines Beispiels erklären, warum und wann wir Shim verwenden sollten. Vielen Dank.
Underscore
undBackbone
hier wie der normale verwendet, wasshim
tun Sie in diesem Fall? Kann ich verwendenrequire( function() { _.extend({}); })
? Versteht es_
?