تطوير الويب
JS Minify / Beautify
ضغط JavaScript للإنتاج أو تنسيق الكود المصغّر إلى شكل سهل القراءة.
كبير جدًا للمعاينة
كبير جدًا للمعاينة
Minifying JavaScript strips whitespace, comments, and line breaks, and often shortens local variable names — none of that changes how the code runs, but it noticeably shrinks the file for a faster load.
How to use it
- Minify: paste JavaScript code and the tool compresses it while keeping its behavior identical.
- Beautify: paste minified code with no indentation to get a readable version for analysis or debugging.
- Beautifying is especially useful for picking apart a third-party minified script when no source map is available.
Common uses
- Quickly minifying a small script without setting up a full build tool.
- Beautifying minified code from a third-party library to understand what it does.
- Inspecting a suspicious or unclear minified script before trusting it to run.
Things to keep in mind
Minification isn't obfuscation — variables get renamed to shrink size, not to hide logic; serious obfuscation needs dedicated specialized tools.
Minified code in production without a source map is hard to debug — the line numbers in error messages won't match the original file.
مقالة عن هذه الأداة: تصغير JavaScript: الفرق بين التصغير والتعتيم
الأسئلة الشائعة
ما الأداة التي يستخدمها المصغّر خلف الكواليس؟
يستخدم terser، وهو مصغّر ومضغط JavaScript يُستخدم على نطاق واسع ويفهم أيضًا الصياغة الحديثة.
لماذا يصعب تصحيح أخطاء JavaScript المصغّر؟
يختصر terser أسماء المتغيرات والدوال ويزيل المسافات البيضاء والتعليقات، وبما أن هذه الأداة لا تُنشئ خريطة مصدر (source map)، لا يمكن لأدوات مطوري المتصفح ربط الكود المصغّر بالأسطر الأصلية القابلة للقراءة.
هل سيؤدي التصغير إلى كسر كودي؟
بالنسبة لـ JavaScript الصحيح نحويًا، يحافظ التصغير على السلوك؛ إذا كان هناك خطأ نحوي، تُبلغ الأداة عن السطر والعمود حتى تتمكن من إصلاحه قبل التصغير — كل شيء يعمل محليًا دون رفع كودك.
ما الفرق بين Tree shaking والتصغير؟
يحذف Tree shaking من الحزمة الكود غير المستخدم في أي مكان، عبر تحليل رسم بياني لاعتماديات الوحدات أثناء البناء، بينما يقتصر التصغير على اختصار التمثيل النصي للكود الموجود أصلًا — لا يحذف أي دالة تُنفَّذ فعليًا.
هل من الآمن استخدام JavaScript مصغّر في الإنتاج دون اختبار إضافي؟
نعم، التصغير تحويل نحوي بحت يحافظ على سلوك البرنامج مطابقًا تمامًا؛ أي اختلاف في السلوك بعد التصغير يشير إلى خطأ في أداة التصغير نفسها، لا إلى تغيير مقصود في المنطق.