2009-12-30 35 views
8

Tôi bắt đầu học JavaScript và jQuery. Tôi quản lý để làm một số tinh chỉnh và các công cụ, mọi thứ đều tốt cho đến nay. Nhưng tôi đã suy nghĩ nếu nó là một thực hành tốt nhất để kết hợp nhiều tập tin jQuery và bổ sung. Ví dụ:Trộn nhiều tệp jQuery - Thực tiễn tốt nhất?

Tôi có jQuery 1.3.2 min.js, jQuery easing 1.3.js, jQuery Cycle min.js và jQuery UI. Nó sẽ được khuyến khích để đặt lại với nhau jQuery (chính), jQuery easing và jQuery chu kỳ chỉ trong một tập tin?

Vui lòng cho tôi một số ánh sáng ở đây.

Xin cảm ơn,

+0

Câu hỏi đầu tiên hay, chào mừng bạn đến với Stack Overflow! –

Trả lời

2

Không, tôi sẽ giữ riêng các tệp. Nó giữ chức năng riêng biệt, và làm cho nó dễ dàng hơn để tái plugin bất kỳ phiên bản sau này của các plugin bạn muốn.

Ngoài ra, bằng cách chỉnh sửa tệp để bao gồm tất cả mã plugin, bạn đang tự giới thiệu rủi ro, vì bản thân tệp sẽ không phải chịu sự kiểm tra của tác giả gốc mã gốc.

Chắc chắn, tôi cho rằng bất kỳ lợi ích nào đáng kể đều đáng kể bởi những cạm bẫy.

+0

Tôi sẽ dựa vào việc giữ các tệp riêng biệt chỉ vì các biến vấn đề có thể được đặt tên giống nhau, không có những thứ bị phân cách bởi các không gian tên, v.v.Nếu bạn muốn cắt giảm băng thông, hãy rút ngắn mã trước khi triển khai có thể là một cái gì đó cần xem xét. – Chris

+0

Cảm ơn bạn rất nhiều vì câu trả lời rõ ràng của bạn. Các bạn có một điểm mạnh ở đó. Bây giờ tôi cảm thấy nhẹ nhõm hơn khi thấy rằng đó không phải là tội ác nếu tôi biên dịch chúng hoặc giữ chúng tách biệt nhau. – Vitor

+0

Có một downvote cho việc này. Không phải là tôi bực mình, nhưng sẽ thật tuyệt khi biết wh –

5

Bạn có thể làm như vậy. Nó tiết kiệm số lượng yêu cầu HTTP để chuyển tất cả mã JS vào. Nó chỉ khó hơn một chút để duy trì, nhưng theo ý kiến ​​của tôi, nó không vượt quá những lợi ích mà bạn (và khách hàng!) Có với các yêu cầu HTTP ít hơn.

Nếu bạn đang sử dụng ngôn ngữ phía máy chủ và công cụ triển khai tốt, bạn thậm chí có thể tự động hóa việc thu nhỏ và hợp nhất các tệp JS trước khi xuất bản. Chúng tôi cũng làm điều đó ở đây với một chút trợ giúp của YUI Compressor và một vài dòng mã Java trong một ứng dụng hàng loạt. Hoạt động tốt, người dùng cuối có lợi ích của các yêu cầu HTTP ít hơn và các nhà phát triển có lợi khi không thực hiện tất cả việc hợp nhất và bảo trì đó theo cách thủ công.

+0

Cảm ơn bạn rất nhiều vì câu trả lời rõ ràng của bạn. Tôi sợ nó sẽ được coi là một điều "thô", bạn biết đấy. :-) – Vitor

4

Giả sử Google đang cân nhắc xem xét tốc độ phản hồi của trang web như một bộ định tính cho xếp hạng bạn có thể tốt hơn khi biên dịch tất cả JS thành một tệp. YSlow là một công cụ tốt để giúp bạn xác định cách tối ưu nhất để thực hiện việc này.

+1

YSlow thực sự là một công cụ phân tích hiệu suất tuyệt vời, nhưng tôi không thấy nó sẽ giúp ích như thế nào trong việc quyết định xem có nên rút gọn các tệp JS hay không. Thậm chí nhiều hơn, YSlow * đề xuất * để làm điều đó, bất kể những gì bạn có. Đây chỉ là câu trả lời hoàn toàn "có, bạn nên làm". – BalusC

+0

@BalusC Đúng vậy, đó là cơ bản những gì tôi đã cố gắng để nói theo cách dài của tôi. :) –

+0

Cảm ơn bạn rất nhiều vì câu trả lời rõ ràng của bạn. Tôi không quen thuộc với việc đối phó với YUI, nhưng tôi sẵn sàng học hỏi. Nếu tôi sử dụng trình biên dịch YUI trực tuyến thì kết quả sẽ giống nhau? – Vitor

6

Giữ riêng các tệp và sử dụng back-end của bạn để rút gọn và gzip chúng như là một phần của quy trình triển khai của bạn. Như những người khác đã đề cập đến điều này sẽ tiết kiệm người dùng của bạn làm cho các yêu cầu không cần thiết và nó sẽ giúp bạn tiết kiệm phải duy trì một tập tin rất xấu xí.

Lợi ích bổ sung ở đây là bạn thực sự có thể giữ các tệp đầy đủ, nhận xét, đầy đủ cho tất cả các tệp này trong cây nguồn của bạn (để đọc/v.v) trong khi phân phát các tệp nén cho người dùng.

+0

Cảm ơn bạn rất nhiều vì câu trả lời rõ ràng của bạn. Tuyệt vời tip aobut back-end gzipping, nhưng tôi đang trên một chia sẻ lưu trữ mà hiện tại không hỗ trợ đó. :-(Damn ... – Vitor

+0

Bạn có thể Gzip đầu ra theo cách thủ công Chi tiết phụ thuộc vào ngôn ngữ phía máy chủ được đề cập – BalusC

+1

Thông thường, bạn cần bật hỗ trợ tài sản gzipped trong apache, afaik. Chỉ cần nhớ để xem lại khi bạn di chuyển đến VPS :) – rfunduk

2

Đây có lẽ là câu trả lời trễ, nhưng tôi sẽ cố gắng phân phát nhiều tệp nhất có thể từ Google, Microsoft, v.v. của CDN. Ngay cả khi bạn tham chiếu nhiều tệp, cơ hội ai đó đã tải xuống tệp từ một số trang web khác cao và họ sẽ tránh tải xuống lại tệp.

Đối với tùy chỉnh, trong nhà, JavaScript, tôi viết 99% JS của mình trong một plugin jQuery, ngay cả khi tôi chỉ sử dụng plugin đó trên một biểu mẫu. Sau đó, tôi có thể kết hợp tất cả JS của tôi thành một tệp, chạy nó qua Google Closure và sẵn sàng để đi.

1% còn lại là nơi mỗi trang gọi các plugin và chuyển bất kỳ thông số nào cần thiết.

+0

Cảm ơn rất nhiều, Mark. Bạn đã cho tôi rất nhiều hiểu biết ở đây. :) – Vitor

Các vấn đề liên quan