UTILS.
ทำงานในเบราว์เซอร์ 100%
🗜️

ตัวย่อ JavaScript

ย่อ JavaScript โดยตัดคอมเมนต์และช่องว่างที่ไม่จำเป็นออก พร้อมรักษาสตริง template literal และ regex อย่างปลอดภัย — ทำงานภายในเครื่องในเบราว์เซอร์ของคุณ

— ผลลัพธ์จะแสดงที่นี่ —

เกี่ยวกับเครื่องมือนี้

ตัวย่อ JavaScript ลดขนาดของสคริปต์โดยลบคอมเมนต์และยุบช่องว่างและการขึ้นบรรทัดที่ไม่จำเป็น แล้วรายงานไบต์ที่ประหยัดได้ เป็นวิธีที่รวดเร็ว ไม่ต้องพึ่งพา dependency ในการย่อสคริปต์หรือสนิปเป็ตเล็กๆ ก่อนวางในที่ที่ไวต่อขนาด การประมวลผลทั้งหมดทำงานภายในเครื่อง — โค้ดถูกปฏิบัติเป็นข้อความล้วนๆ และไม่เคยถูกรัน จึงไม่มี eval และไม่มีการอัปโหลด

นี่คือตัวย่อแบบระมัดระวังที่รู้จัก token มันสแกนซอร์สเป็น token โดยข้ามภายในของสตริง template literal นิพจน์ปกติ และคอมเมนต์อย่างถูกต้อง ดังนั้นเนื้อหาของสิ่งเหล่านั้นจึงถูกรักษาไว้ทีละไบต์ คอมเมนต์ถูกลบทิ้ง (หรือเก็บไว้ผ่านตัวสลับ) และช่องว่างที่ต่อเนื่องกันถูกลบออกทุกที่ ยกเว้นที่ที่จำเป็นต้องมีช่องว่างจริงๆ — ระหว่าง token ตัวระบุ/ตัวเลข/คีย์เวิร์ดสองตัว (ดังนั้น 'return a' จึงไม่กลายเป็น 'returna') หรือระหว่างอักขระตัวดำเนินการสองตัวที่มิฉะนั้นจะเชื่อมกัน (ดังนั้น 'a + +b' จึงเก็บช่องว่างไว้) ลิเทอรัล regex ที่ตามหลังคีย์เวิร์ดก็เก็บช่องว่างคั่นไว้ด้วย

เนื่องจากมันไม่สร้าง abstract syntax tree ขึ้นใหม่ มันจึงไม่เปลี่ยนชื่อตัวแปรหรือทำ dead-code elimination — มันลบเฉพาะสิ่งที่พิสูจน์ได้ว่าปลอดภัยที่จะลบ มันยังยุบการขึ้นบรรทัดด้วย ดังนั้นโค้ดที่พึ่งพา automatic semicolon insertion ข้ามการขึ้นบรรทัดควรใช้เซมิโคลอนที่ชัดเจนอยู่แล้ว แผงแสดงขนาดเดิม ขนาดที่ย่อ และเปอร์เซ็นต์ที่ประหยัด

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

มันเปลี่ยนชื่อตัวแปรหรือบีบอัดตรรกะไหม?
ไม่ นี่คือตัวย่อช่องว่างและคอมเมนต์แบบระมัดระวัง ไม่ใช่ตัวบีบอัดเต็มรูปแบบ มันไม่ทำลายชื่อตัวแปร ไม่พับค่าคงที่ หรือลบ dead code — มันเพียงตัดคอมเมนต์และช่องว่างที่ไม่จำเป็น ดังนั้นเอาต์พุตจึงยังเทียบ diff กับซอร์สได้ง่าย
สตริงและ regex ของฉันปลอดภัยไหม?
ปลอดภัย ตัวย่อแยก token ซอร์สและรักษาภายในของสตริง template literal และนิพจน์ปกติไว้ทุกประการ ช่องว่างและข้อความที่คล้ายคอมเมนต์ภายในนั้นไม่เคยถูกแตะต้อง ดังนั้นโค้ดที่ย่อจึงทำงานเหมือนเดิม
การย่ออาจทำให้โค้ดของฉันพังไหม?
มันยุบการขึ้นบรรทัด ดังนั้นสคริปต์ที่พึ่งพา automatic semicolon insertion ข้ามการขึ้นบรรทัดอาจเปลี่ยนความหมาย หากโค้ดของคุณใช้เซมิโคลอนที่ชัดเจนอยู่แล้ว — อย่างที่ส่วนใหญ่เป็น — เอาต์พุตจะเทียบเท่ากัน เมื่อไม่แน่ใจ ให้ทดสอบผลลัพธ์ที่ย่อ
ตัวเลขขนาดหมายความว่าอย่างไร?
หลังการย่อ เครื่องมือวัดซอร์สเดิมและซอร์สที่ย่อเป็นไบต์ UTF-8 และแสดงทั้งสองพร้อมเปอร์เซ็นต์การลด ดังนั้นคุณจึงเห็นได้ชัดว่าสคริปต์เล็กลงแค่ไหน

เครื่องมือเพิ่มเติม