Có phải thực hành tốt hơn để bó các tập lệnh thành một gói trên mỗi trang hoặc có một số gói?


8

Trong một ứng dụng web tôi đang làm việc, có 3 loại tập lệnh (áp dụng tương tự cho biểu định kiểu):

  • Những thứ cần thiết trên mỗi trang (ví dụ: jquery)
  • Những thứ cần thiết trên một số trang, nhưng không phải tất cả (ví dụ: thư viện hộp đèn được sử dụng trên các trang hiển thị hình ảnh người dùng đã tải lên)
  • Những thứ cần thiết trên một trang (ví dụ: một cái gì đó cụ thể cho chức năng của trang đó)

Mỗi trang có nên có gói riêng kết hợp tất cả các tập lệnh cần thiết không? Hoặc mỗi loại tập lệnh phải là gói riêng của nó (tức là một trang có thể tải 3 gói - EssentialScripts.js, mediaLologists.js và pageSpecificScripts.js)? Hoặc có một cách tiếp cận tốt hơn mà tôi không biết?

Cách thực hành tốt nhất để gói các tập lệnh này là gì, và những lợi thế / bất lợi nào có cho các phương pháp khác nhau?

(Tôi không chắc điều này có liên quan như thế nào, nhưng dự án tôi đang thực hiện đang sử dụng gói ASP.NET MVC. Ngoài ra, để đơn giản hơn, hãy giả sử rằng không có tệp nào đến từ CDN của bên thứ 3 tất cả chúng đều được tải từ cùng một nơi và khách hàng sẽ không có bất kỳ chuyến thăm nào khác.)


1
Trọng lượng của tất cả mọi thứ kết hợp với nhau so với cái cần thiết trên tất cả các trang là gì? Nếu đó là khoảng 90/10%, đừng bận tâm, hãy đóng gói tất cả.
Walfrat

Câu trả lời:


5

Đối với các ứng dụng phức tạp, sẽ rất hợp lý khi thực hiện phân tách mà bạn đề xuất. Các bit phổ biến của bạn, đặc biệt là các thư viện bên ngoài, sẽ thay đổi ít thường xuyên hơn so với mã ứng dụng. Vì vậy, họ là ứng cử viên chính cho bộ nhớ đệm. Gói tất cả mọi thứ lại với nhau ngăn chặn điều đó. Mặt khác, họ thêm các yêu cầu HTTP bổ sung. Mà sẽ làm cho trải nghiệm ban đầu một chút ít tốt đẹp. Một mô hình phổ biến là có các thư viện bên ngoài trong một gói và mã ứng dụng trong một gói khác. Đặc biệt là khi cái sau nhỏ hơn và có rất nhiều chia sẻ giữa các trang và lượt xem, điều đó có ý nghĩa.

Đây là một mục tiêu di chuyển tuy nhiên. Thực hành tốt nhất của ngày hôm nay là chống mẫu của ngày mai. Lời khuyên thay đổi trong một thế giới nơi http / 2 là phổ biến hoặc khi các mô-đun phía máy khách được hỗ trợ bởi tất cả các trình duyệt chính.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.