2012-05-31 26 views
7

Tôi đang sử dụng require.version "2.0.0"
Và tôi muốn có được gạch dưới như là một biến địa phương:Requirejs, vấn đề trong tải thư viện nhấn

Dưới đây là mã của tôi (1).

Tại sao _ không xác định?
Làm thế nào tôi có thể nhận được _ bên trong hàm như một biến địa phương


(1)

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

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

Bạn có sử dụng nhánh AMD của Underscore https://github.com/amdjs/underscore không? Nếu không, điều đó có thể giải thích sự cố của bạn – nikoshr

+0

@nikoshr cảm ơn nhận xét của bạn. Tôi không sử dụng dĩa AMD của Underscore. có cách nào để khắc phục sự cố này mà không cần sử dụng phiên bản AMD không? –

+0

@nikoshr Dù sao thì nếu bạn nhìn vào [bài viết] này (http://tbranyen.com/post/amdrequirejs-shim-plugin-for-loading-incompatible-javascript), có vẻ như shim đã được giới thiệu để sửa chữa plugin không phải của AMD. –

Trả lời

5

Vâng, chỉ cần thay thế exports: 'underscore' bởi exports: '_'. Điều này yêu cầu phải đính kèm vào mô-đun _. Vì vậy, tham chiếu window._ sẽ vẫn hoạt động.

Các vấn đề liên quan