Kết hợp và giảm thiểu các phụ thuộc cho các tệp JavaScript bị mê hoặc


8

Tôi đang tải một tệp JavaScript bằng cách sử dụng wp_enqueue_scriptvào chủ đề của mình. Tuy nhiên, cùng với nó, tôi cũng đang tải một số tệp jQuery, như là các phụ thuộc cho tập lệnh được xử lý (đã được Grunt ghép nối và rút gọn). Đây là mã của tôi:

add_action('wp_enqueue_scripts', function() {
    wp_enqueue_script( 'customscripts', get_template_directory_uri() . '/assets/js/main.min.js', array('jquery', 'jquery-form', 'json2', 'jquery-ui-autocomplete'), NULL, true );
});

Đối với mảng phụ thuộc, tôi sẽ làm thế nào để nối và giảm bớt các phụ thuộc jQuery đó? Tôi đang cố gắng để trang web của mình tải nhanh nhất có thể và càng ít tệp JS thì nó càng tải tốt hơn. Ngoài ra nếu có thể làm cho chúng tải không đồng bộ (sử dụng thuộc asynctính cho <script>thẻ) sẽ là ace.

Tôi muốn làm điều đó mà không sử dụng một plugin nhưng tôi sẽ sử dụng một plugin nếu cần thiết.

Cảm ơn vì bất kì sự giúp đỡ :)


3
Các tệp javascript của bên thứ ba phải được đăng ký / ghi danh bởi các plugin như hiện tại; không được nối, sửa đổi hoặc với một tên khác. Theo cách này, nếu có nhiều hơn một plugin / chủ đề sử dụng cùng một js của bên thứ ba, Wordpress sẽ không tải một số phiên bản của cùng một mã. Để tận dụng lợi thế của việc quản lý và ghép nối này, việc ghép nối phải được thực hiện nhanh chóng kết hợp với hệ thống bộ đệm để tránh ghép các tệp cho mỗi lần truy cập. Tôi nghĩ rằng công việc này là quá nhiều cho một câu trả lời ở đây. Hãy xem W3 Total Cache; plugin này nối, thu nhỏ, lưu trữ kết quả và tải các tệp js async.
cybmeta

Giống như @cybmeta nói, W3 Total Cache thực hiện công việc, nhưng hãy cẩn thận với các tệp js ghép. Một số tập lệnh không được chuẩn bị để "cùng nhau" trong cùng một tệp. Nhưng thư giãn quá, các thay đổi W3 Total Cache đều có thể đảo ngược.
Rangel R. Morais

này, cảm ơn vì đã trả lời, W3 Total Cache đang hoạt động khá tốt để ghép nối, v.v., cảm ơn vì lời đề nghị (và @cybmeta) :)
Tom Oakley

này, cảm ơn vì đã trả lời và xin lỗi tôi đã quên trả lời W3 Total Cache hoạt động tốt ngay bây giờ cho điều này và lời giải thích của bạn về lý do WordPress không làm điều đó hoàn toàn có ý nghĩa. Cảm ơn!
Tom Oakley

1
Plugin này cũng rất tuyệt nếu vì một số lý do mà bạn không muốn hoặc không cần W3 Total cache wordpress.org/plugins/autoptizes
NickFMC

Câu trả lời:


1

W3 Total Cache cung cấp thu nhỏ JS / CSS. Tôi không quen với quy trình họ sử dụng, nhưng nếu bạn muốn tránh sử dụng plugin, bạn có thể xem mã nguồn của họ về cách họ xử lý nó.

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.