Tôi sử dụng require.js để tải chậm cho một ứng dụng Javascript. Tôi rất thích chuyển sang một ngăn xếp thiên thạch nhưng ngay bây giờ có vẻ như Meteor sẽ gửi toàn bộ ứng dụng (tất cả các mẫu) qua tải ban đầu. Có ai đã thành công với require.js và meteor hay bất kỳ triển khai nào khác không?Các mẫu tải Lười biếng trong Meteor
Trả lời
Bạn đang đặt các câu hỏi khác nhau, nhưng chắc chắn chúng được kết nối. Đầu tiên là tải thêm javascript mã vào số sao băng ứng dụng của bạn. Tất nhiên bạn có thể sử dụng những thứ như requirejs
. Điều này sẽ hoạt động tốt khi giả sử mã lười của bạn nằm trong thư mục public
của dự án sao băng của bạn. Tuy nhiên, kinh nghiệm của tôi là requirejs
phát điên khi nội dung của public
được cập nhật thường xuyên, ví dụ như trong môi trường phát triển. Có lẽ đó là vấn đề tùy biến thư viện, nhưng tôi thà khuyên bạn nên sử dụng một số gói homebrewed nhẹ. Hãy xem here, nếu bạn cần một số nguồn cảm hứng.
Câu hỏi thứ hai là định nghĩa mẫu lười. Mỗi mẫu bao gồm hai phần. Đầu tiên là mã html
của bạn, được viết bằng cú pháp handlebars
, thứ hai là tất cả mã javascript mà bạn viết để xác định cách hoạt động của mẫu (ví dụ: trình trợ giúp, trình xử lý sự kiện). Phần thứ hai rất dễ, miễn là chúng ta đã biết cách tải mã lười (xem đoạn trên) và mẫu, hãy gọi nó là myLazyTemplate
, đã được xác định, vì vậy về cơ bản, nói Template.myLazyTemplate
không phải là undefined
. Vậy làm thế nào để đạt được thứ hai?
Để xác định động mẫu mới, bạn cần phải gọi Template.__define__(name, raw_func)
trên máy khách. Vì vậy, câu hỏi cuối cùng là "raw_func
là gì?". Đây là một phiên bản biên soạn của html mã của bạn mà thường được tạo ra tự động trên máy chủ và sau đó được gửi xuống dây cho khách hàng khi ứng dụng được nạp (xem here để xem làm thế nào nó được thực hiện trong sao băng). Nhưng chúng tôi muốn làm điều đó một cách năng động, đúng không?
Vì vậy, ý tưởng là biên dịch mã mẫu theo cách thủ công với trợ giúp của quy trình Handlebars.to_json_ast
. Bạn có thể cung cấp mẫu với mã mẫu html và đầu ra là một số javascript mảng có thể được gửi cho khách hàng bất kỳ lúc nào theo phương pháp mà chúng tôi đã nói đến. Điều cuối cùng bạn cần làm là gọi Handlebars.json_ast_to_func
trên máy khách, sử dụng dữ liệu được gửi từ máy chủ làm đối số duy nhất. Đầu ra được sản xuất bởi Handlebars.json_ast_to_func
là raw_func
bạn có thể sử dụng để tạo mẫu myLazyTemplate
.
Tôi biết rằng đây chỉ là ý tưởng thô, chứ không phải giải pháp toàn bộ cho vấn đề của bạn. Tôi hy vọng điều này sẽ giúp bạn tìm ra giải pháp cuối cùng cho riêng bạn.
- 1. Các trang tải lười biếng trong UIScrollView
- 2. Thư viện tải lười biếng?
- 3. Tải Lười biếng là gì?
- 4. Hình ảnh tải lười biếng trong UITableView
- 5. Tải hình ảnh lười biếng trong ListView
- 6. Tải trọng lười biếng trong node.js
- 7. Hibernate tải lười biếng trong các đối tượng tách rời
- 8. Có thể tải lười biếng cho một mối quan hệ không lười biếng trong Hibernate không?
- 9. hình ảnh tải lười biếng và SEO
- 10. Hibernate tải lười biếng không làm việc
- 11. Tải nội dung WPF lười biếng
- 12. Hibernate Query Language (HQL) - Truy vấn cho lười biếng/no-lười biếng tải
- 13. lười biếng các loại lặp trong Scala?
- 14. Nhiều thùng chứa trong Tải trọng Lười biếng
- 15. deserialize tải lười biếng trong hibernate và jackson
- 16. Tải trọng lười biếng? Tốt hơn là tránh nó?
- 17. Đánh giá lười biếng trong Ruby
- 18. Tải trọng lười biếng với Cơ sở Lâu đài NHibernate
- 19. hGetContents quá lười biếng
- 20. Kích hoạt lười biếng các plugin Eclipse
- 21. Tiêm phụ thuộc lười biếng
- 22. Hibernate + PostgreSQL: Tải Lười Biếng với Ổ Khóa Độc Quyền
- 23. tải lười biếng bản đồ google api v3 jQuery callback
- 24. javascript lười biếng tải cách nâng cao tiến bộ?
- 25. EF 4 - Tải Lười Biếng Không Có Proxies
- 26. Tải phụ thuộc lười biếng với symfony DI
- 27. Primefaces DataTable, tải lười biếng và CommandButton mỗi hàng
- 28. Mẫu Singleton với sự kết hợp giữa tải trọng lười biếng và an toàn chủ đề
- 29. Lười biếng, quá tải C++ && nhà điều hành?
- 30. Không chặn các thuộc tính lười biếng tải trong mô hình MVVM
Cảm ơn câu trả lời rất chi tiết, đó chỉ là mức mô tả tôi đang tìm kiếm. – James
Câu trả lời này có thể đã lỗi thời. Xem [cách tải các mẫu tải theo yêu cầu trong Meteor] (https://stackoverflow.com/a/28334315/1269037) và các gói có sẵn cho đến tháng 2 năm 2015. –