2012-01-08 34 views
5

Tôi đang sử dụng plugin text của RequireJS. Có thể tham chiếu một tệp văn bản trong tệp cấu hình đường dẫn không? Tôi đã thửTệp văn bản trong tệp cấu hình đường dẫn

require.config({ 
    paths: { 
     'myTemplate': 'text!templates/myTemplate.html' 
    } 
}); 

nhưng điều đó không hiệu quả.

Trả lời

7

Lý do không hoạt động vì plugin RequireJS được thiết kế để sử dụng như một phần của lệnh bắt buộc, không phải trong cấu hình.

Hãy thử:

require.config({ 
    paths: { 
     'myTemplate': 'templates/myTemplate.html' 
    } 
}); 

và trong module của bạn:

define(
    ['text!myTemplate'], 

    function() {} 
) 
+0

@RamenRecon và nếu tôi muốn có một đường dẫn cho thư mục mẫu của tôi fe '' ''tmpl': 'templates /'' '' bạn có thể làm điều đó không? – Cu7l4ss

+0

Không làm việc cho tôi. NHẬN http: //localhost/js/.myTemplate 404 (Không tìm thấy) – miduga

+0

Tôi cũng nhận được 404. Điều này là với phiên bản 2.1.2 của yêu cầu. Nếu tôi chỉ định một baseUrl của './', nó cũng cố tìm kiếm tệp './.myTemplate'. –

4

câu trả lời RamenRecon đã giúp, nhưng trong trường hợp của tôi, tôi nghĩ đó là một chút bối rối bằng cách sử dụng myTemplate cho đường dẫn và mẫu tên. Chìa khóa tôi tìm thấy là chỉ thay thế Đường dẫn chứ không phải tên tệp thực. Do vậy, để tóm tắt các đường dẫn đến /subSystem/templates/myTemplate.htm sử dụng yêu cầu và cấu hình đường, thiết lập cấu hình như sau:

require.config({ 
    paths: { 
     templatePath: 'subsystem/templates' 
    } 
}); 

Và sau đó trong định nghĩa mô-đun của bạn:

define(['text!templatePath/myTemplate.htm'], 
    function(template) {} 
); 
+0

Đây là câu trả lời đúng. –

+0

Nhưng thật không may, nó không phải là _enough_. Tôi đang sử dụng require.paths để xử lý bộ nhớ cache-busting, nhưng không thể sử dụng plugin văn bản để làm điều này. –

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