คำถามที่พบบ่อย


คอมไพเลอร์ Closure คืออะไร เหตุใดฉันจึงควรใช้
Closure Compiler เป็นเครื่องมือสําหรับการดาวน์โหลด JavaScript และเรียกใช้ได้เร็วขึ้น คุณใช้ Closure Compiler เพื่อลดขนาดไฟล์ JavaScript และทําให้มีประสิทธิภาพมากขึ้นได้
คอมไพเลอร์ Closure แตกต่างจากเครื่องมือบีบอัด JavaScript อื่นๆ อย่างไร

โดยทั่วไป Closure Compiler ควรเป็นไปตามหรือเกินการบีบอัดของเครื่องมือลดขนาดอื่นๆ และปรับปรุงเวลาในการดาวน์โหลดสําหรับเว็บแอปพลิเคชัน นอกจากนี้ Closure Compiler ยังช่วยคุณค้นหาข้อผิดพลาดทางไวยากรณ์ระหว่างการพัฒนา (แทนที่จะเป็นระหว่างการทดสอบ) และระบุรูปแบบโค้ดที่อาจข้อบกพร่อง

ในโหมดแบบง่าย ผู้ปิดคอมไพล์ควรทํางานได้ดีกว่าเครื่องมืออื่นๆ เนื่องจากใช้การวิเคราะห์ที่มีลักษณะเหมือนคอมไพเลอร์เพื่อค้นหาวิธีอื่นๆ ในการลดขนาดโค้ด เช่น Closure Compiler สามารถใช้ฟังก์ชันแบบอินไลน์ที่ใช้เพียงไม่กี่รายการ ใช้ชื่อตัวแปรซ้ํา และนิพจน์คงที่ที่คํานวณไว้ล่วงหน้า

ในโหมดขั้นสูง คอมไพเลอร์ Closure ยังใช้หมายเหตุประเภทที่เพิ่มเข้ามาของคุณเพื่อค้นหาข้อบกพร่องที่สังเกตเห็นได้ยาก

Closure Compiler รวบรวม JavaScript ที่ฝังอยู่ใน HTML ได้ไหม
ไม่ คอมไพเลอร์ Closure จะใช้ได้เฉพาะไฟล์ที่มี JavaScript เท่านั้น
ฉันใช้ Closure Compiler ร่วมกับตัวลดขนาด JavaScript อื่นๆ ได้ไหม

ได้ Closure Compiler จะอ่านใน JavaScript ที่ถูกต้องและสร้าง JavaScript ที่ถูกต้อง เพื่อให้คุณใช้คอมไพเลอร์ Closure กับไฟล์ JavaScript ได้ก่อนหรือหลังจากที่เรียกใช้ไฟล์ผ่านตัวลดขนาดอื่น

โปรดทราบว่า Closure Compiler และตัวลดขนาดอื่นๆ อาจมีความคาดหวังเกี่ยวกับโค้ดขาเข้า เครื่องมือลดขนาดที่ตัดความคิดเห็นออกอาจนําข้อมูลใบอนุญาตหรือคําอธิบายประกอบที่ต้องใช้ออกจากเครื่องมืออื่นออก

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