ข้ามไปยังเนื้อหา
Toova
เครื่องมือทั้งหมด

ตัวย่อและตกแต่ง JavaScript

ออกแบบเพื่อความเป็นส่วนตัว — ทำงานในเบราว์เซอร์ของคุณทั้งหมด

ย่อหรือจัดแต่ง JavaScript ในเบราว์เซอร์ของคุณ Toova บีบอัด JS สำหรับ production หรือขยาย bundles ที่ย่อเป็นโค้ดที่อ่านได้ ทั้งหมดโดยไม่อัปโหลดต้นฉบับของคุณไปยังเซิร์ฟเวอร์ใดๆ

การย่อระดับ production

โหมดย่อลบความคิดเห็น ยุบช่องว่าง และทำให้ patterns ทั่วไปสั้นลงเพื่อสร้าง bundle ที่กระชับ เอาต์พุตเทียบเท่ากับอินพุตในเชิง semantic — ทุก function call ทุก side effect ทุก export รอด เป็นประโยชน์สำหรับ snippets ครั้งเดียวที่ไม่ผ่าน build pipeline หรือสำหรับการย่อ inline scripts ในหน้า HTML ก่อน deploy

จัดแต่งโค้ดที่ย่อ

เมื่อคุณต้องการตรวจสอบไลบรารีที่ย่อ ดีบักสคริปต์ที่ obfuscated หรืออ่านเอาต์พุตที่คอมไพล์ของ framework โหมดจัดแต่งคือสิ่งที่คุณต้องการ Toova รับ bundle ที่ย่อบรรทัดเดียวและขยายเป็นโค้ดที่เยื้องระยะอย่างเหมาะสมด้วย newlines ระหว่างคำสั่ง การเว้นวรรคที่สมเหตุสมผลรอบ operators และขอบเขตบล็อกที่ชัดเจน มันไม่ deobfuscate — นั่นคือปัญหาแยกต่างหาก — แต่ทำให้โค้ดอ่านได้พอ

เฉพาะในเครื่อง

การประมวลผลทั้งหมดเกิดขึ้นในเบราว์เซอร์ของคุณ JavaScript ที่คุณวางไม่เคยออกจากหน้า ซึ่งสำคัญเมื่อต้นฉบับเป็นกรรมสิทธิ์หรือมีความลับที่คุณไม่อยากแชร์ หน้าทำงานออฟไลน์หลังจากโหลดครั้งแรก และมีคำขอออกเป็นศูนย์ระหว่างการประมวลผล

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

JavaScript ที่ย่อเล็กลงเท่าใด
ปกติเล็กกว่า 50-70% ก่อน gzip บางครั้งมากกว่ามากถ้าต้นฉบับมีช่องว่างและความคิดเห็นมาก หลัง gzip การประหยัดหดเป็น 20-30% เพราะการบีบอัดได้ลบช่องว่างที่ซ้ำซ้อนแล้ว
Beautify ย้อน obfuscation หรือไม่
ไม่ Beautify จัดรูปแบบโค้ดใหม่เพื่อให้อ่านได้ แต่ไม่เปลี่ยนชื่อตัวแปรกลับเป็นตัวระบุที่มีความหมายหรือคืนค่าชื่อ function ที่ตัดออก Obfuscation เป็นทางเดียวโดยการออกแบบ — beautify แก้ไขเฉพาะการจัดรูปแบบ
การย่อทำให้ JavaScript ของฉันเสียหรือไม่
ไม่ถ้าอินพุตมีไวยากรณ์ที่ถูกต้อง ตัวย่อรักษา semantics ทั้งหมด — ทุก function call และ side effect ทำงานในลำดับเดียวกัน ถ้าคุณพึ่งพา Function.name หรือ stack traces เฉพาะ สิ่งเหล่านั้นอาจเปลี่ยน
รองรับ JavaScript สมัยใหม่หรือไม่
ใช่ Arrow functions, async/await, destructuring, optional chaining และไวยากรณ์สมัยใหม่อื่นๆ ทั้งหมดจัดการอย่างถูกต้อง เอาต์พุตอยู่ในระดับไวยากรณ์เดียวกับอินพุต — ไม่มี transpilation เกิดขึ้น
โค้ดของฉันถูกส่งไปยังเซิร์ฟเวอร์หรือไม่
ไม่ การประมวลผลเกิดขึ้นในเบราว์เซอร์ของคุณทั้งหมด ไม่มีการอัปโหลดหรือบันทึก