2012-01-14 52 views
6

Trong một tuần, tôi bắt đầu tìm hiểu cách sử dụng require.js với Backbone.jsUnderscore.js.Trình tải tập lệnh nào (AMD hay không) để sử dụng với Backbone.js/Underscore?

Đó là một công cụ thực sự khó khăn, nhưng 3 ngày trước tôi đã đọc rằng Underscore sẽ không hỗ trợ Require.js (AMD) nữa! Bây giờ tôi là một chút nhầm lẫn.

Tôi thực sự thích khái niệm về Trình tải tập lệnh và không muốn bỏ lỡ nó!

Có ai đó đã sử dụng thành công Trình tải tập lệnh có Backbone.js (0.5.3) và dấu gạch dưới (1.3.0) không?

Cảm ơn bạn đã trợ giúp!

Link: một giải pháp here

Trả lời

0

Tôi tìm thấy một giải pháp mà thực sự làm việc cho tôi: (! Mà không thay đổi mã) Tim Brayen

define([ 
'jquery', 
'use!underscore', 
'use!backbone', 

tôi sử dụng nó để thêm plugin jquery, js tùy chỉnh, dấu gạch dưới và xương sống ... nhưng có vẻ như có vấn đề với điện thoại di động jquery ...

bạn cũng có thể xem wrap, tôi chưa thử nghiệm!

+0

Bạn có thể gửi một vấn đề trong repo GitHub nếu vẫn còn một vấn đề với jQuery mobile? – tbranyen

2

bạn vẫn có thể làm cho công việc gạch với require.js mặc dù nó không natively hỗ trợ kiểu mô-đun bộ xử lý AMD.

bạn vẫn có thể tải nó dưới dạng nguồn javascript bên ngoài bình thường, thông qua mô-đun proxy.

các ý chính của nó là đoạn mã này:

// Filename: libs/underscore/underscore 
// Loads the original underscore file from the libs/underscore folder 
define(['order!libs/underscore/underscore-min'], function(){ 
    // Tell Require.js that this module returns a reference to Underscore 
    return _; 
}); 

đầy đủ các hướng dẫn có thể được tìm thấy ở đây: http://backbonetutorials.com/organizing-backbone-using-modules/

+0

Tôi dùng thử! nhưng không may tôi thực sự làm việc với phiên bản cuối cùng của gạch dưới (1.3.0)! và Thomas Davis sử dụng Underscore.js 1.1.7 !! – trouble

+3

hãy xem chủ đề này trên github, hỗ trợ AMD loại bỏ trong gạch dưới 1.3.0 nhưng vẫn có thể thông qua proxy hoặc shim như tôi đã nói, https://github.com/documentcloud/underscore/commit/0d4b1247c45083c695cab4242c084a97aa600221#commitcomment-857941. .. Vì vậy, nó thực sự vẫn nên có thể. – Sander

4

Tôi hiện đang sử dụng gạch chân 1.3 và Backbone 0.5.3 trong Backbone của tôi Boilerplate. Bạn có thể thấy những gì tôi đang làm gì ở đó:

https://github.com/tbranyen/backbone-boilerplate

+0

âm thanh tốt cho tôi! tôi thử xem! – trouble

+0

liên kết đã chết – captncraig

+0

@CMP vì nó được hợp nhất thành chính, nhận xét được cập nhật. – tbranyen

1

Tôi có một vài ở đây cũng ...

https://github.com/jcreamer898/RequireJS-Backbone-Starter
https://github.com/jcreamer898/Savefavs

CẬP NHẬT Tháng bảy 2012/07/08

Phiên bản mới nhất của RequireJS cho phép các thư viện tương thích NON-AMD có mã sau.

require.config({ 
    'paths': { 
    "underscore": "libs/underscore-min", 
     "backbone": "libs/backbone-min" 
    }, 
    'shim': 
    { 
     backbone: { 
      'deps': ['jquery', 'underscore'], 
      'exports': 'Backbone' 
     } 
    } 
}); 
+0

Cảm ơn rất nhiều jcreamer! nhưng bạn sử dụng Underscore.js 1.2.2 không? ứng dụng của tôi đã chạy với dấu gạch dưới 1.3.0! – trouble

1

Require.js là giải pháp thay thế tốt nhất trong quan điểm của tôi, vì nó bao gồm một ưu (rút gọn và nối) và cho phép bạn tách đang Backbone của bạn thành các module.

Nếu bạn đang bối rối về cách tích hợp Require.js với các phiên bản mới nhất của Backbone.js và Underscore.js, hãy kiểm tra mã bản mẫu soạn sẵn mà tôi đã tạo trên github. Hãy nhớ rằng tôi đang sử dụng lodash bởi John-David Dalton thay vì gạch dưới vì lodash cung cấp hiệu suất tốt hơn và quy trình tạo tùy chỉnh. Tôi cũng đang sử dụng cấu hình Shim mà Require.js 2.0 được cung cấp để tạo các tập lệnh tương thích không phải của AMD, như tương thích Backbone, AMD/Require.js.

https://github.com/gfranko/Backbone-Require-Boilerplate

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