2012-05-31 17 views
7

altını:Requirejs, kütüphane yüklenirken sorun ben "2.0.0" <br> require.version kullanıyorum Ve yerel bir değişken olarak alt çizgi almak istiyorum

İşte benim kod (1).

Neden undefined?
nasıl


(1)

require.config({ 
    baseUrl: "./", 
    paths: { 
     'underscore': 'vendor/js/underscore-min' 
    }, 
    shim: { 
     'underscore': { 
      exports: 'underscore' 
     } 
    } 
}); 

require([ 
    'underscore' 
], function(_) { 
    "use strict"; 
    console.log(_); // undefined 
}); 
+1

Underscore https://github.com/amdjs/underscore adresinin AMD çatalı kullanıyor musunuz? Eğer değilse, bu sizin sorununuzunuzu açıklayabilir – nikoshr

+0

@nikoshr Yorumunuz için teşekkürler. Ben, SCD'nin çatalını kullanmıyorum. Her neyse, AMD sürümünü kullanmadan bu sorunu düzeltmenin bir yolu var mı? –

+0

@nikoshr Her neyse, eğer bu [makale] (http://tbranyen.com/post/amdrequirejs-shim-plugin-for-loading-incompatible-javascript) 'a bakarsanız, AMD eklentisini düzeltmek için shim'in kullanıldığı görülüyor. –

cevap

5

Evet, sadece exports: '_' tarafından exports: 'underscore' yerine yerel bir değişken gibi işlevi içinde _ alabilirsiniz. Bu, modüle _ eklenmesini gerektirir. Bu nedenle window._ referansı çalışmaya devam edecektir.