2013-09-30 16 views
14

Tôi muốn có thể chèn thêm đường dẫn, trong một tệp khác với tệp có chứa cấu hình. Điều này có thể được thực hiện? Một câu hỏi tiền thưởng là liệu tôi có thể truy cập trực tiếp các biến "config" hay không.Nhiều thông số đường dẫn trong RequireJS

+2

Tôi hiểu bạn hỏi liệu có thể thêm các đường dẫn bổ sung sau khi 'require.config()' đã được chạy chưa? –

+1

Vâng, đó là chính xác – sabof

Trả lời

17

Không có vấn đề gì khi gọi require.config nhiều lần hoặc từ nhiều địa điểm. Bạn không phải cung cấp toàn bộ cấu hình cho các cuộc gọi tiếp theo. Ánh xạ đường dẫn mới sẽ được hợp nhất với các ánh xạ hiện có.

Ví dụ, nếu bạn đã làm điều này ban đầu:

require.config({ 
    paths: { 
     foomodule: 'libs/foo', 
     jquery: 'libs/jquery' 
    } 
}); 

Bạn sau đó có thể làm điều này để cung cấp một bộ khác nhau của con đường cho jquery và/hoặc tiêm đường dẫn cho một module hoàn toàn mới không có mặt trong bản gốc cấu hình:

require.config({ 
    paths: { 
     jquery: [ 'http://code.jquery.com/jquery-2.0.2', 'http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.2' ], 
     // note that foomodule not provided here but still keeps its original configuration 
     someothermodule: 'some/other/path' 
    } 
}); 

Lưu ý, tuy nhiên, nếu một module đã được nạp dựa trên cấu hình ban đầu và bạn muốn buộc nó phải tải lại từ cấu hình mới, bạn có thể phải gọi require.undef

Về phần thứ hai của câu hỏi của bạn (đọc thông tin cấu hình hiện có), tôi đã yêu cầu a question về vấn đề này và cho đến nay vẫn chưa tìm được cách để làm điều đó.

+0

đối với tôi nó không hoạt động. bạn có thể vui lòng cung cấp ví dụ về chi tiết không? – miukki

+0

Ngoài ra, trình tối ưu hóa không chấp nhận nhiều đường dẫn. –

+0

Nó hoạt động. Đối với vấn đề với trình tối ưu hóa, bạn chỉ cần thêm các tệp thủ công với tùy chọn bao gồm. –

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