Thông thường bạn nạp trong một Backbone App sử dụng require.js trong tải trangLàm thế nào để khởi tạo ứng dụng xương sống của bạn trong vòng require.js sau gọi lại bên ngoài
<script data-main="js/main" src="js/libs/require/require.js"></script>
mà tải một số phụ thuộc, và khởi chạy ứng dụng.
Nếu ứng dụng của bạn yêu cầu thao tác DOM, bạn có thể sử dụng plugin domReady
require(['domReady','app' ], function (domReady, App) {
domReady(function (App) {
App.Initialize()
}):
});
Nhưng ứng dụng của tôi liên lạc với một API Flash. Tôi cần phải chờ cho đến khi plugin flash được thực hiện tải riêng của nó xml. Tôi bắn một cuộc gọi lại cho javascript khi điều này được thực hiện. Gọi lại này cần kích hoạt app.initialize() với các phụ thuộc như trong require.js
Phương thức đầu tiên và phương thức thứ hai (chờ đợi dom) không đảm bảo flash api có sẵn. Vậy làm thế nào tôi có thể khởi tạo ứng dụng, do đó app.js có các phụ thuộc của nó và api flash có sẵn. Hoặc xây dựng khác nhau: Làm thế nào tôi có thể khởi tạo require.js thông qua một sự kiện javascript/callback
Cập nhật: Rõ ràng, điều này sẽ đủ:
<script data-main="js/main" src="js/libs/require/require.js"></script>
<script type="text/javascript">
function init(){
require(['framework/app'], function(App){
App.initialize();
});
}
</script>
Các plugin flash chỉ có thể gọi window.init() để bắt đầu ứng dụng. Nhược điểm sẽ là những thứ như jQuery được nạp khi ứng dụng được khởi tạo. Điều này có thể dẫn đến sự chậm trễ nhỏ trước khi nội dung hiển thị.
tôi eonder nếu, khi tôi tải jquery vào đầu/kết thúc của cơ thể, require.js sẽ tải lại/khởi tạo một bản sao của jquery, hoặc đọc từ bộ nhớ cache/dom
Cảm ơn bạn đã trả lời của bạn, mặc dù nó đã được hai năm :) Tôi không thể thực sự kiểm tra nó nếu nó hoạt động ngay bây giờ. – Jareish