Cách tốt nhất để giảm thiểu javascript tổng hợp của drupal (tự động) là gì?


10

Vừa mới chạy Google pagepeed trên trang web drupal 6 mới tạo của tôi và nó báo cáo:

Minifying the following JavaScript resources could reduce their size by 15.6KiB (12% reduction).

    Minifying http://[sites]/sites/default/files/js/js_9f19b87ffb72ca233ea7e45dda2f20f9.js could save 15.3KiB (18% reduction). See optimized version or Save as.

Tệp trên được tạo thông qua phương pháp tổng hợp JavaScript mặc định của drupal, nhưng rõ ràng nó có thể nhỏ hơn 18% (đây là một vấn đề lớn đối với trang web này). Cách tiếp cận nào được coi là tốt nhất khi nói đến việc giảm bớt JavaScript trên một trang web drupal mà không phá vỡ bất kỳ mã hiện có nào?


Tôi không nghĩ rằng đây thực sự là một câu hỏi cụ thể của Drupal, nó có thể liên quan đến bất kỳ sự thu nhỏ nào của JavaScript và do đó sẽ được hỏi tốt hơn tại StackOverflow.
Giải mã

4
Phần cụ thể của drupal sẽ là bất kỳ giải pháp nào cũng cần tích hợp với drupal và thay thế các tệp tổng hợp JS cốt lõi bằng các phiên bản rút gọn. Thay đổi tiêu đề để hy vọng làm cho điều này rõ ràng hơn
wiifm

Câu trả lời:


4

Bạn có thể sử dụng mô-đun Bộ tổng hợp Javascript cho việc đó hoặc cài đặt PageSpeed (mô-đun Apache, không phải là tiện ích mở rộng Fireorms) nếu bạn sử dụng Apache và có thể cài đặt các tiện ích mở rộng (ví dụ: không phải là một webhost được chia sẻ), kết hợp với tập hợp riêng của Drupal, với lợi ích bổ sung mà PageSpeed cũng có thể thu nhỏ CSS.


Sử dụng nginx làm máy chủ web, không quá chắc chắn nếu Google pagepeed tích hợp với điều đó chưa
wiifm

Thật vậy, bạn tốt hơn với mô-đun hơn PageSpeed ​​trong trường hợp đó.
wildpeaks

6

Tôi đã tạo ra một mô-đun mới để giải quyết rất nhiều vấn đề tổng hợp & tôi hy vọng sẽ đưa được một phần lớn của nó vào D8; và vâng, đó là mô-đun D6: http://drupal.org/project/advagg . Sử dụng jsmin + lib để nén JS và lib CSSTidy để nén CSS. Ưu điểm chính của việc này là tệp tổng hợp css / js không thay đổi tên trừ khi cần; những tệp này cũng có thời gian lưu trữ bộ nhớ cache 1 năm và có thế hệ hình ảnh tưởng tượng, vì vậy 404 cho tệp CSS của bạn sẽ là quá khứ.

Cập nhật: AdvAgg 7.x đang được phát triển và đi kèm với việc thu nhỏ JS dưới dạng một mô đun con tùy chọn. Các tùy chọn D7 khác:
http://drupal.org/project/speedy
http://drupal.org/project/uglifyjs


1
Từ mô tả trên trang, tôi cảm nhận được một gợi ý tinh tế rằng tôi nên cài đặt mô-đun này: D Tốt lắm, tôi sẽ thử.
wildpeaks

1
Vâng, tôi đã thử mô-đun này cho trang web, vấn đề duy nhất là nó đã thu nhỏ CSS theo cách mà trang web bị hỏng. Tôi không chắc liệu đây có phải là do công cụ thu nhỏ CSS hay một số CSS được mã hóa kém;) Trong mọi trường hợp, tôi chỉ sau khi thu nhỏ JS, vì JS lớn hơn CSS rất nhiều. Sẽ có tùy chọn trong mô-đun này để vô hiệu hóa thu nhỏ CSS? Làm tốt lắm BTW
wiifm

Chỉ cần vô hiệu hóa mô-đun nén CSS. Nó sử dụng thư viện CSSTidy nếu bạn thắc mắc.
mikeytown2

@ mikeytown2 Cảm ơn bạn rất nhiều vì một mô-đun tuyệt vời như vậy. Tôi có một số vấn đề với một trong những trang web của tôi css file đôi khi không tải được câu hỏi ở đây [ drupal.stackexchange.com/questions/128649/... và liên kết trang web của [ living.md/]i đã lang thang nếu tôi sử dụng advgg làm tôi cần phải kích hoạt drupal Tổng hợp và nén các tệp CSS và các tệp JavaScript Tổng hợp. dưới hiệu suất. Tôi không thể tìm thấy bất kỳ tài liệu cho mô-đun bất kỳ liên kết đến một số thiết lập cơ bản?
Yama

2

Bạn có thể sử dụng mô-đun Minify để làm tương tự. Giảm thiểu mô-đun thu nhỏ JavaScript bằng trình biên dịch Google. Nó cũng hoạt động với "Tập tin JavaScript tổng hợp", do đó bạn cũng có thể tận dụng lợi thế của việc kết hợp nhiều tệp JavaScript là tùy chọn mặc định trong Drupal 7.

Mô-đun thu nhỏ cũng giảm thiểu HTML.

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.