ฉันอ่านเอกสารrequirejsจากที่นี่API
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();
}
}
}
});
แต่ผมไม่ได้รับการชิมส่วนหนึ่งของมัน ทำไมฉันถึงใช้ shim และฉันจะกำหนดค่าได้อย่างไรฉันจะได้รับคำชี้แจงเพิ่มเติมได้อย่างไร
โปรดอธิบายพร้อมตัวอย่างเหตุผลและเวลาที่เราควรใช้ shim ขอบคุณ.
Underscore
และBackbone
ที่นี่ใช้เหมือนปกติshim
ในกรณีนี้จะทำอย่างไร? ใช้ได้require( function() { _.extend({}); })
ไหม? มันเข้าใจ_
ไหม?