- Closure Compiler คืออะไร ทำไมฉันจึงควรใช้
- Closure Compiler แตกต่างจาก คอมเพรสเซอร์ JavaScript อื่นๆ ที่มีอยู่ทั่วไปอย่างไร
- Closure Compiler คอมไพล์ JavaScript ที่ฝังอยู่ใน HTML ได้ไหม
- ฉันใช้ Closure Compiler ร่วมกับตัวลดขนาด JavaScript อื่นๆ ได้ไหม
- ฉันจะแก้ไขข้อบกพร่องของ JavaScript ที่คอมไพเลอร์ Closure สร้างขึ้นได้อย่างไร
- คอมไพเลอร์จะประนีประนอมระหว่างความเร็วในการ เรียกใช้แอปพลิเคชันกับขนาดโค้ดที่ดาวน์โหลดไหม
- คอมไพเลอร์เพิ่มประสิทธิภาพเพื่อความเร็วไหม
- มีการจำกัดขนาดของไฟล์ที่คอมไพล์ได้ไหม
- Closure Compiler พร้อมให้บริการสำหรับทุกแพลตฟอร์มไหม
- คอมไพเลอร์ประมวลผล JavaScript ที่ถูกต้องตามกฎหมายได้ไหม
- Closure Compiler ทำงานร่วมกับ Closure Library อย่างไร
-
โค้ดของฉันหยุดทำงานหรือคอมไพเลอร์สร้างข้อผิดพลาดเมื่อฉันคอมไพล์ด้วย
ADVANCED_OPTIMIZATIONS
เหตุใดจึงเป็นเช่นนั้น - เหตุใดจึงมีฟีดบรรทัดแบบสุ่มใน สคริปต์ที่คอมไพล์แล้ว
- ฉันมีประกาศเกี่ยวกับลิขสิทธิ์หรือข้อความใบอนุญาตโอเพนซอร์ส ที่ต้องปรากฏในซอร์สโค้ด ฉันจะป้องกันไม่ให้คอมไพเลอร์ Closure ลบข้อความนี้ออกได้อย่างไร
- Closure Compiler คืออะไร เหตุใดฉันจึงควรใช้
- Closure Compiler เป็นเครื่องมือที่ช่วยให้ดาวน์โหลดและ เรียกใช้ JavaScript ได้เร็วขึ้น คุณใช้ Closure Compiler เพื่อลดขนาด ไฟล์ JavaScript และเพิ่มประสิทธิภาพได้
- Closure Compiler แตกต่างจากตัวบีบอัด JavaScript อื่นๆ ที่มีอยู่ทั่วไปอย่างไร
-
โดยทั่วไปแล้ว Closure Compiler ควรมีประสิทธิภาพในการบีบอัด มากกว่าหรือเท่ากับเครื่องมือลดขนาดโค้ดอื่นๆ และช่วยปรับปรุงเวลาในการดาวน์โหลด เว็บแอปพลิเคชัน นอกจากนี้ Closure Compiler ยังช่วยคุณ ค้นหาข้อผิดพลาดทางไวยากรณ์ระหว่างการพัฒนา (แทนที่จะเป็นการทดสอบ) และระบุรูปแบบโค้ดที่อาจมีข้อบกพร่องได้ด้วย
ในโหมด Simple นั้น Closure Compiler ควรจะทำงานได้ดีกว่า เครื่องมืออื่นๆ เนื่องจากใช้การวิเคราะห์แบบคอมไพเลอร์เพื่อค้นหาวิธีเพิ่มเติม ในการลดขนาดโค้ด ตัวอย่างเช่น Closure Compiler สามารถ แทรกฟังก์ชันที่ใช้ในไม่กี่อินสแตนซ์ นำชื่อตัวแปรมาใช้ซ้ำ และคำนวณนิพจน์ค่าคงที่ล่วงหน้า
ในโหมดขั้นสูง Closure Compiler ยังใช้คำอธิบายประกอบประเภทที่คุณเพิ่มเพื่อค้นหาข้อบกพร่องที่สังเกตได้ยากได้ด้วย
- ไม่ได้ Closure Compiler จะทำงานกับไฟล์ที่มีเฉพาะ JavaScript เท่านั้น
- ฉันจะใช้ Closure Compiler ร่วมกับตัวลดขนาด JavaScript อื่นๆ ได้ไหม
-
ได้ Closure Compiler อ่าน JavaScript ที่ถูกต้องและสร้าง JavaScript ที่ถูกต้อง ดังนั้นคุณจึงใช้ Closure Compiler กับไฟล์ JavaScript ได้ทั้งก่อนและหลังจากเรียกใช้ไฟล์ผ่านเครื่องมือลดขนาดอื่นๆ
โปรดทราบว่า Closure Compiler และตัวลดขนาดอื่นๆ อาจมี ความคาดหวังเกี่ยวกับโค้ดที่เข้ามา โปรแกรมลดขนาดที่ลบความคิดเห็นอาจลบใบอนุญาตหรือข้อมูลประกอบที่เครื่องมืออื่นจำเป็นต้องใช้ เป็นต้น
- ฉันจะแก้ไขข้อบกพร่องของ JavaScript ที่คอมไพเลอร์ Closure สร้างขึ้นได้อย่างไร
-
หากโค้ดที่คอมไพล์แล้วแสดงข้อผิดพลาดหรือมีลักษณะการทำงานที่ไม่คาดคิด
คุณสามารถใช้ Source Map เพื่อแก้ไขข้อบกพร่องของปัญหาได้ แผนที่แหล่งที่มาจะแสดงการเชื่อมโยง
ระหว่างโค้ดที่คอมไพล์แล้วกับซอร์สโค้ดต้นฉบับ เพื่อให้เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์
ของเบราว์เซอร์แสดงซอร์สโค้ดต้นฉบับแทนโค้ดที่คอมไพล์แล้ว
หากต้องการให้ Closure Compiler สร้าง Source Map ให้ส่งแฟล็ก
--create_source_map
ในบรรทัดคำสั่ง เช่น จากนั้นหากคุณใช้เบราว์เซอร์ที่รองรับ Source Maps (เช่น Chrome หรือ Firefox) คุณจะตั้งค่าจุดพักได้เช่นเดียวกับโค้ดที่ไม่ได้คอมไพล์ และเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของเบราว์เซอร์จะแสดงบรรทัดโค้ดที่เกี่ยวข้อง ในแหล่งที่มาต้นฉบับ ดูข้อมูลเพิ่มเติมเกี่ยวกับเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของ Chrome รวมถึง ข้อมูลเกี่ยวกับ Source Map ได้ที่ การแก้ไขข้อบกพร่องของ JavaScript$ java -jar compiler.jar --js example.js --create_source_map ./example-map --js_output_file example-compiled.js
- คอมไพเลอร์จะประนีประนอมระหว่างความเร็วในการดำเนินการของแอปพลิเคชันกับขนาดโค้ดที่ดาวน์โหลดไหม
- ได้ คอมไพเลอร์ที่เพิ่มประสิทธิภาพจะทำการแลกเปลี่ยน การเพิ่มประสิทธิภาพบางอย่าง อาจทำให้ความเร็วลดลงเล็กน้อย อย่างไรก็ตาม นักพัฒนา Closure Compiler ได้ระมัดระวังไม่ให้เกิดรันไทม์เพิ่มเติมอย่างมีนัยสำคัญ การเพิ่มประสิทธิภาพบางอย่างของคอมไพเลอร์ ยังช่วยลดเวลาในการรันไทม์ได้ด้วย (ดูคำถามถัดไป)
- คอมไพเลอร์เพิ่มประสิทธิภาพเพื่อความเร็วไหม
- โดยส่วนใหญ่แล้ว โค้ดที่มีขนาดเล็กจะทำงานได้เร็วกว่า เนื่องจากเวลาในการดาวน์โหลดมักเป็นปัจจัยด้านความเร็วที่สำคัญที่สุดในเว็บแอปพลิเคชัน การเพิ่มประสิทธิภาพที่ ลดความซ้ำซ้อนจะช่วยเพิ่มความเร็วรันไทม์ของโค้ดด้วย
- มีการจำกัดขนาดของไฟล์ที่คอมไพล์ได้ไหม
- เว็บเซอร์วิสการคอมไพล์มีขนาดไฟล์สูงสุด แต่แอปพลิเคชันคอมไพเลอร์แบบสแตนด์อโลนไม่มี
- Closure Compiler พร้อมใช้งานในทุกแพลตฟอร์มไหม
- คอมไพเลอร์เขียนด้วยภาษา Java จึงทำงานได้ทุกที่ที่ Java ทำงานได้
- คอมไพเลอร์ประมวลผล JavaScript ที่ถูกต้องตามกฎหมายได้ไหม
-
ส่วนใหญ่ โครงสร้าง JavaScript บางอย่าง รวมถึง
eval()
และwith()
อาจทำให้สมมติฐานที่การแปลงของคอมไพเลอร์ อิงตามนั้นไม่ถูกต้อง - ฉันต้องมีความรู้ด้านการพัฒนาเว็บมากน้อยเพียงใดจึงจะใช้ Closure Compiler ได้
- Closure Compiler เป็นเครื่องมือสำหรับการพัฒนา JavaScript ดังนั้นคุณ จึงต้องทราบวิธีเขียนโปรแกรมใน JavaScript เพื่อใช้ คอมไพเลอร์ แต่ทุกคนที่ใช้ JavaScript จะได้รับประโยชน์จากการใช้ Closure Compiler
- Closure Compiler ทำงานร่วมกับ Closure Library อย่างไร
- Closure Compiler มีการตรวจสอบและการเพิ่มประสิทธิภาพพิเศษสำหรับ โค้ดที่ใช้ Closure Library นอกจากนี้ บริการ Closure Compiler ยังรวมไฟล์ Closure Library ได้โดยอัตโนมัติด้วย การค้นหา วิธีใช้ Closure อธิบายไวยากรณ์สำหรับการประกาศ ส่วนต่างๆ ของ Closure ที่คุณต้องการ ดูข้อมูลเกี่ยวกับการใช้ Closure Library กับ API ได้ในเอกสารอ้างอิง API หากต้องการใช้ Closure Library กับแอปพลิเคชัน Closure Compiler คุณต้องดาวน์โหลด Closure Library ก่อน การรองรับ Closure Library จะ เปิดใช้ในแอปพลิเคชันคอมไพเลอร์โดยค่าเริ่มต้น
-
โค้ดของฉันหยุดทำงานหรือคอมไพเลอร์แสดงข้อผิดพลาดเมื่อฉัน
คอมไพล์ด้วย
ADVANCED_OPTIMIZATIONS
เหตุผล -
การใช้โหมดขั้นสูงมักจะต้องมีการเตรียมการและการเปลี่ยนแปลงโค้ด
บางอย่าง การคอมไพล์ขั้นสูง
และไฟล์ภายนอกอธิบายวิธีตรวจสอบว่าโค้ดของคุณทำงาน
ร่วมกับ
ADVANCED_OPTIMIZATIONS
ได้ - เหตุใดจึงมีฟีดบรรทัดแบบสุ่มในสคริปต์ที่คอมไพล์แล้ว
- Closure Compiler จะเพิ่มการขึ้นบรรทัดใหม่ทุกๆ 500 อักขระโดยประมาณ ไฟร์วอลล์และพร็อกซีบางครั้งอาจทำให้ไฟล์ JavaScript ขนาดใหญ่ที่มีบรรทัดยาวมากเสียหายหรือละเว้นไฟล์ดังกล่าว การเพิ่มการขึ้นบรรทัดใหม่ ทุกๆ 500 อักขระจะช่วยป้องกันปัญหานี้ได้ การนำตัวแบ่งบรรทัด ออกจะไม่มีผลต่อความหมายของสคริปต์ ผลกระทบต่อขนาดโค้ดมีน้อย และคอมไพเลอร์ จะเพิ่มประสิทธิภาพการวางบรรทัดเพื่อให้ค่าปรับขนาดโค้ดน้อยลงไปอีกเมื่อไฟล์ถูกบีบอัดด้วย Gzip
- ฉันมีประกาศเกี่ยวกับลิขสิทธิ์หรือข้อความใบอนุญาตโอเพนซอร์ส ที่ต้องปรากฏในซอร์สโค้ด ฉันจะป้องกันไม่ให้ Closure Compiler ลบข้อความนี้ออกได้อย่างไร
-
Closure Compiler รองรับแท็ก JSDoc
@license
เพิ่มแท็ก@license
ลงในความคิดเห็น JSDoc เพื่อเก็บ ความคิดเห็นไว้ในเอาต์พุตของคอมไพเลอร์ ดูข้อมูลเพิ่มเติมได้ที่การใส่คำอธิบายประกอบ JavaScript สำหรับ Closure Compiler