2012-05-31 12 views
7

estoy usando el require.version "2.0.0"
Y me gustaría obtener el subrayado como una variable local:RequireJS, cuestión en la carga de la biblioteca subrayan

Aquí está mi código (1).

¿Por qué _ no está definido?
¿Cómo puedo obtener _ dentro de la función como una variable local


(1)

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

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

¿Utiliza la horquilla de AMD de Underscore https://github.com/amdjs/underscore? Si no, eso podría explicar su problema – nikoshr

+0

@nikoshr gracias por su comentario. No estoy usando el tenedor AMD de Underscore. de todos modos hay una forma de solucionar este problema sin usar la versión de AMD? –

+0

@nikoshr De todos modos, si miras este [artículo] (http://tbranyen.com/post/amdrequirejs-shim-plugin-for-loading-incompatible-javascript) parece que se ha introducido shim para arreglar el plugin no AMD. –

Respuesta

5

Bueno, basta con sustituir exports: 'underscore' por exports: '_'. Esto dice requiere adjuntar a _ el módulo. Por lo tanto, la referencia window._ seguirá funcionando.

Cuestiones relacionadas