SORU
18 Mart 2013, PAZARTESİ


Shim config kullanmak için neden Requirejs

bu okudumrequirejsburadan api belge

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();
            }
        }
    }
});

ama almıyorumshimbunun bir parçası. neden shim kullanmalıyım ve nasıl konfigüre etmeliyim, ben biraz daha ayrıntılı bilgi alabilir

lütfen herhangi bir neden ve ne zaman shim kullanıyoruz örnekle açıklayabilir. teşekkürler.

CEVAP
18 Mart 2013, PAZARTESİ


Shim birincil kullanımı AMD desteklemeyen kitaplıkları ile bağımlılıklarını yönetmek gerekir. Omurga örneğin, yukarıdaki örnekte, alt Çizgi: bu Çizgi Omurga gerektirir, bu yüzden bu gibi: kod yazdın sanırım biliyorsun

require(['underscore', 'backbone']
, function( Underscore, Backbone ) {

    // do something with Backbone

}

RequireJS alt Çizgi ve Omurga, ama ikiniz için de zaman uyumsuz istekleri başlayacakilk geri olacağını bilmiyorumOmurga dolu önce alt Çizgi ile bir şeyler yapmaya çalışın ki mümkün değil.

NOT:bu omurga örnek de bu kütüphaneler, AMD desteklenen önce yazıldı altını çiziyor. Ama prensip doğru AMD desteklemeyen herhangi bir kütüphane bugün için de geçerlidir.

"Kanca diğer gelişmiş şeyler bir kütüphane normalde genel ad içine farklı şeyler verme ama onları yeniden tanımlamak istiyorsanız, gibi tek bir ad altında sağlar. init Ya da, belki de bazı maymun dolduruyorsun kütüphanede bir yöntem üzerinde düzeltme yapmak istiyorum.

Daha fazla arka plan:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jesiel santos

    jesiel santo

    15 Ocak 2009
  • paulandstorm

    paulandstorm

    4 EYLÜL 2006
  • SRI International

    SRI Internat

    30 NİSAN 2008