tôi đều đồng ý với spin của câu trả lời này: Where to keep html templates? Bạn đã làm đúng các bởi vì nguyên tắc KISS.
Tùy thuộc vào số lượng mẫu bạn sẽ kết thúc (bạn đã đề cập "nhiều hơn"), bạn có thể muốn tách chúng ra khỏi trang chính của bạn. Có một vài lý do cho việc này.
Một lý do nữa sẽ là nguyên tắc KISS. Quá nhiều mẫu có thể làm cho mã nguồn của bạn khó điều hướng. Trình soạn thảo hoặc IDE của bạn có thể đã bao gồm bạn về điều này rồi. Nếu không, đây có thể là lý do chính đáng để đưa mẫu của bạn vào các tệp riêng biệt.
Lý do khác sẽ là hiệu suất. Nếu bạn tự phục vụ tệp HTML, không có mẫu, trang của bạn sẽ đến khách hàng và bắt đầu hiển thị sớm hơn nhiều. Bạn cũng có thể cho phép ứng dụng lưu trữ một số mẫu và chỉ tải các mẫu mới khi chúng thay đổi. Điều này sẽ khiến các lần truy cập trang web của bạn trong tương lai khởi chạy nhanh hơn nhiều.
Nếu hiệu suất đặc biệt quan trọng, bạn có thể xem xét một hỗn hợp của hai cách tiếp cận. Bạn sẽ bao gồm các mẫu thiết yếu, những mẫu mà tập hợp cấu trúc cơ bản của trang của bạn, trong trang HTML chính.Sau đó, các mẫu tùy chọn có thể được tìm nạp sau khi tải trang và/hoặc ngay trước khi chúng cần thiết. Để bao gồm các mẫu thiết yếu, bạn có thể sử dụng khuôn mẫu phía máy chủ.
Về câu hỏi ban đầu của bạn, về nơi lưu trữ chúng, tôi nói rằng bạn nên đặt chúng ở bất cứ đâu hợp lý với bạn. Sau đó, xem Dave Ward's article on using external templates with jQuery templates để biết thông tin về cách tạo và tìm nạp mẫu của bạn. Đây là đoạn mã cần thiết:
// Asynchronously our PersonTemplate's content.
$.get('PersonTemplate.htm', function(template) {
// Use that stringified template with $.tmpl() and
// inject the rendered result into the body.
$.tmpl(template, person).appendTo('body');
});
Sau đó, xem An Introduction to jQuery Templates, by Stephen Walther và chuyển đến phần có tiêu đề "Mẫu từ xa". Anh ta có một ví dụ trong đó lấy và biên dịch mẫu chỉ một lần, nhưng làm cho nó có thể hiển thị nhiều lần. Dưới đây là các đoạn trích thiết yếu:
// Get the remote template
$.get("ProductTemplate.htm", null, function (productTemplate) {
// Compile and cache the template
$.template("productTemplate", productTemplate);
// Render the products
renderProducts(0);
});
function renderProducts() {
// Get page of products
var pageOfProducts = products.slice(pageIndex * 5, pageIndex * 5 + 5);
// Used cached productTemplate to render products
$.tmpl("productTemplate", pageOfProducts).appendTo("#productContainer");
}
Tôi nghĩ mục đích của mẫu là để bạn có thể tách nội dung chung thành các tệp riêng biệt? Bạn đang sử dụng công cụ tạo khuôn mẫu nào, mã của bạn trông như thế nào và bạn đã thử những gì cho đến nay? – jmort253
@ jmort253 đã cập nhật bài đăng để trả lời câu hỏi của bạn. – LDK