2012-05-31 16 views
7

Używam require.version „2.0.0”
I chciałbym, aby uzyskać podkreślenia jako zmiennej lokalnej:Requirejs, problem podczas ładowania biblioteki podkreślenia

Oto mój kod (1).

Dlaczego _ jest niezdefiniowany?
Jak mogę uzyskać _ wewnątrz funkcji jak zmiennej lokalnej


(1)

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

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

Czy używasz widelca AMD z Underscore https://github.com/amdjs/underscore? Jeśli nie, to może wyjaśnić twój problem – nikoshr

+0

@nikoshr dzięki za komentarz. Nie używam widelca AMD z podkreśleniem. w każdym razie istnieje sposób, aby rozwiązać ten problem bez korzystania z wersji AMD? –

+0

@nikoshr W każdym razie, jeśli spojrzysz na to [artykuł] (http://tbranyen.com/post/amdrequirejs-shim-plugin-for-loading-incompatible-javascript) wydaje się, że shim został wprowadzony, aby naprawić wtyczkę AMD. –

Odpowiedz

5

Cóż, po prostu zastąpić exports: 'underscore' przez exports: '_'. To mówi, że należy dołączyć do modułu _. Tak więc odniesienie window._ nadal będzie działać.

Powiązane problemy