วิธีที่ดีที่สุดในการลดขนาด JavaScript รวมของ drupal (โดยอัตโนมัติ) คืออะไร


10

เพิ่งเรียกใช้Google pagespeedผ่านเว็บไซต์ drupal 6 ที่เพิ่งสร้างใหม่และรายงาน:

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.

ไฟล์ดังกล่าวถูกสร้างขึ้นผ่านวิธีการรวม JavaScript เริ่มต้นของ drupal แต่เห็นได้ชัดว่าอาจมีขนาดเล็กลง 18% (ซึ่งเป็นเรื่องใหญ่สำหรับไซต์นี้) วิธีใดที่ถือว่าดีที่สุดเมื่อพูดถึงการลดจาวาสคริปต์ในเว็บไซต์ drupal โดยไม่ทำให้โค้ดที่มีอยู่เสียหาย?


ฉันไม่คิดว่านี่เป็นคำถามที่เฉพาะเจาะจงของ Drupal แต่อาจเกี่ยวข้องกับการลดขนาดของ JavaScript และจะดีกว่าเมื่อถามถึง StackOverflow
ถอดรหัส

4
ส่วนเฉพาะของ drupal คือโซลูชันใด ๆ ที่จะต้องรวมเข้ากับ drupal และแทนที่ไฟล์การรวม core JS ด้วยเวอร์ชันที่ย่อเล็กสุด เปลี่ยนชื่อเพื่อหวังให้ชัดเจนนี้
wiifm

คำตอบ:


4

คุณสามารถใช้โมดูล Javascript Aggregatorสำหรับสิ่งนั้นหรือติดตั้งPageSpeed (โมดูล Apache ไม่ใช่ส่วนเสริม Firebug) หากคุณใช้ Apache และสามารถติดตั้งส่วนขยาย (เช่นไม่ใช่เว็บโฮสต์ที่ใช้ร่วมกัน) รวมกับการรวมของ Drupal ด้วยประโยชน์เพิ่มเติมที่ PageSpeed สามารถลดขนาด CSS


การใช้ nginx เป็นเว็บเซิร์ฟเวอร์, ไม่แน่ใจว่า Google pagespeed ทำงานร่วมกับสิ่งนั้นได้อย่างไร
wiifm

อ๊ะคุณดีกว่ากับโมดูลมากกว่า PageSpeed ​​ในกรณีนี้
wildpeaks

6

ฉันสร้างโมดูลใหม่เพื่อจัดการกับปัญหาการรวมจำนวนมาก & ฉันหวังว่าจะได้รับก้อนใหญ่ของมันเป็น D8; และใช่มันเป็นโมดูล D6: การhttp://drupal.org/project/advagg ใช้ jsmin + lib สำหรับการบีบอัดของ JS และ CSSTidy lib สำหรับการบีบอัด CSS ข้อได้เปรียบหลักของไฟล์นี้คือไฟล์รวม css / js จะไม่เปลี่ยนชื่อจนกว่าจะต้องการ ไฟล์เหล่านี้มีอายุการใช้งานแคช 1 ปีและมีการสร้างภาพแคชดังนั้นไฟล์ CSS ของคุณควรเป็น 404 วินาทีในอดีต

ปรับปรุง: AdvAgg 7.x กำลังได้รับการพัฒนาและมาพร้อมกับการลดขนาดของ JS เป็นโมดูลย่อยทางเลือก ตัวเลือก D7 อื่น ๆ :
http://drupal.org/project/speedy
http://drupal.org/project/uglifyjs


1
จากคำอธิบายในหน้านี้ฉันรู้สึกถึงคำแนะนำที่ละเอียดอ่อนที่ฉันควรติดตั้งโมดูลนี้: D ทำได้ดีมากฉันจะลองดู
wildpeaks

1
ใช่ฉันลองใช้โมดูลนี้สำหรับไซต์ปัญหาเดียวคือมันทำให้ CSS ในแบบที่ไซต์พัง ฉันไม่แน่ใจว่านี่เป็นเพราะเอ็นจิ้นการย่อขนาด CSS หรือ CSS ที่มีโค้ดไม่ดีหรือไม่;) ไม่ว่าในกรณีใดฉันเป็นเพียงหลังจากการลดขนาด JS เนื่องจาก JS นั้นมีขนาดใหญ่กว่า CSS อย่างมาก จะมีตัวเลือกในโมดูลนี้เพื่อปิดการใช้งาน minification CSS หรือไม่? การทำงานที่ดี BTW
wiifm

เพียงปิดการใช้งานโมดูลการบีบอัด CSS มันใช้ไลบรารี CSSTidy ถ้าคุณสงสัย
mikeytown2

@ mikeytown2 ขอบคุณมากสำหรับโมดูลที่ยอดเยี่ยม ฉันมีปัญหากับหนึ่งในเว็บไซต์ของฉันไฟล์ css บางครั้งไม่โหลดคำถามอยู่ที่นี่ [ drupal.stackexchange.com/questions/128649/ …และลิงค์เว็บไซต์ [ living.md/irmiถูกหลงถ้าฉันใช้ advgg ฉันจำเป็นต้องเปิดใช้งาน drupal Aggregate และบีบอัดไฟล์ CSS และไฟล์ Aggregate JavaScript ภายใต้ประสิทธิภาพ ฉันไม่สามารถหาเอกสารใด ๆ สำหรับโมดูลที่ลิงก์ไปยังการตั้งค่าพื้นฐานบางอย่าง?
ยามา

2

คุณสามารถใช้โมดูลMinifyเพื่อทำสิ่งเดียวกัน โมดูลย่อขนาดย่อขนาด JavaScript โดยใช้ Google คอมไพเลอร์ นอกจากนี้ยังทำงานกับ "รวมไฟล์ JavaScript" เพื่อให้คุณได้รับประโยชน์จากการรวมไฟล์ JavaScript หลายไฟล์ซึ่งเป็นตัวเลือกเริ่มต้นใน Drupal 7

โมดูลย่อยังย่อขนาด HTML

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.