2012-03-16 38 views
5

Tôi đang viết rất nhiều ứng dụng web yêu cầu nhiều nội dung động được thay thế theo yêu cầu ajax khác nhau cho chương trình phụ trợ PHP + mySQL có thể trả lời tất cả dữ liệu dưới dạng JSON. Điều này có thể giống như các câu đố, cuộc thăm dò ý kiến ​​hoặc nó cũng có thể là các ứng dụng nâng cao hơn đòi hỏi nhiều cập nhật của DOM hơn. Vấn đề là việc tích hợp với HTML (được mã hóa bởi phần thứ ba) dễ dàng nhất có thể.Khuôn khổ mẫu Javascript

Vì đây là nhiều ứng dụng nhỏ và không phải là một trang web lớn, tôi đang tìm một thư viện giúp tôi hoàn thành công việc nhanh chóng và dễ dàng để tùy chỉnh sau này. Tôi không biết cách tốt nhất để làm điều này nhưng biết rằng có nhiều thư viện khác nhau ở đó làm những gì tôi cần (và nhiều hơn nữa).

tính năng bắt buộc:

  • Lightweight
  • Dễ dàng cập nhật các cấu trúc HTML (thậm chí cho HTML chỉ lập trình)
  • Tương thích với jQuery
  • trình với tất cả các trình duyệt hiện đại bao gồm Chrome, Firefox, Safari và IE7 +
  • Làm việc với tất cả các trình duyệt di động bao gồm Android, iOS và Windows Mobile

Trả lời

2

Moustache khá chắc chắn, nhưng tôi thấy nó hơi quá cứng rắn về thứ "mẫu không logic". Ví dụ, nó không cung cấp rất nhiều niceties nhỏ mà bạn mong muốn trong một hệ thống templating, giống như một tuyên bố "khác". Bạn phải làm những thứ ngớ ngẩn như thế này tất cả các thời gian:

{{#if foo}} 
    <span>foo is set</span> 
{{/if} 
{{^if foo}} 
    <span>foo is not set</span> 
{{/if}} 

Thay vào đó, tôi khuyên bạn nên Handlebars được xây dựng trên đầu trang của Moustache, nhưng thêm vào một số tính năng tốt đẹp như những người giúp đỡ tùy chỉnh và hỗ trợ bối cảnh chuyển đổi tốt hơn.

+0

Đã gần một năm kể từ khi tôi hỏi câu hỏi này. Và tại thời điểm này tôi đã giải quyết trên Handlebars. Lựa chọn cuối cùng của tôi đã được thực hiện khi tôi cần sử dụng nó trong một Tiện ích mở rộng của Chrome, nơi eval() không được phép - Thanh ghi cũng cung cấp biên dịch trước các mẫu. – jack

0

Tôi sẽ thử mustache. Tôi đã sử dụng nó trong quá khứ và nó khá tốt; nhanh và trực quan.

0

Hãy thử JUST. Nó có cú pháp tương tự với EJS nhưng nó mạnh hơn. Nó có các tính năng rất hữu ích như thừa kế, partials và redefenitions khối. Nó hoạt động trên phía máy khách và máy chủ (node.js).

5

Tôi sẽ thử Distal.

Bạn cho biết mã HTML của bạn được mã hóa bởi bên thứ ba, do đó bạn sẽ muốn thay đổi tối thiểu trong quá trình tích hợp. Với xa bạn thêm công cụ vào HTML hiện tại và không cần phải di chuyển mọi thứ xung quanh.

Cú pháp dựa trên HTML để nó phù hợp với các trình lập chỉ HTML.

+1

Điều này trông giống như một thư viện thực sự tốt đẹp, và nó phù hợp với nhu cầu của tôi một cách hoàn hảo! Tôi sẽ sử dụng phần còn lại của chủ nhật để thử nó. Cảm ơn rất nhiều! – jack

+1

Có vẻ như nó sẽ là lựa chọn thư viện của tôi. Tôi sẽ chấp nhận điều này như là câu trả lời đúng. Cảm ơn mọi người đã trả lời. – jack

+0

Điều này thật tuyệt vời, tôi rất thích nó. Là khuôn mẫu mẫu không được mô tả đầu tiên mà tôi thấy. – rterrani