محول مجاني

JavaScript مُصغِّر

قلل وضغط كود JavaScript على الفور في متصفحك. أزل التعليقات، اطوِ المسافات، وقلل حجم الملف. مجاني وخاص.

اسحب وأفلت ملف JS هنا

يدعم ملفات .js. أو الصق JavaScript أعلاه.

أو

حول هذه الأداة

يؤدي تصغير JavaScript إلى تقليل حجم التعليمات البرمجية المصدر عن طريق إزالة الأحرف غير الضرورية وإعادة تسمية المتغيرات المحلية إلى أسماء أقصر (باستخدام أدوات تصغير مناسبة). الفئة الأولى – إزالة المسافات البيضاء والتعليقات – واضحة وخالية من المخاطر. أما الأمر الثاني، وهو إعادة تسمية المتغير، فيتطلب فهم قواعد النطاق وهو أفضل ما تفعله أدوات تصغير الإنتاج مثل Terser وesbuild.

تركز هذه الأداة على التصغير الآمن: إزالة التعليقات، وطي المسافات البيضاء، وإزالة الفواصل المنقوطة الزائدة عن الحاجة، وتقصير الأنماط الواضحة. تعد إعادة تسمية المتغيرات أمرًا محافظًا - حيث يتم لمس المتغيرات المحلية فقط في النطاقات الواضحة، ويتم ترك الأسماء ذات المراجع الخارجية بمفردها. والنتيجة مطابقة وظيفيا للمصدر.

لتصغير مستوى الإنتاج، تفهم الأدوات المخصصة (Terser، وesbuild، وswc) نموذج نطاق ECMAScript الكامل وتنتج مخرجات أصغر بكثير. هذه الأداة مخصصة للتصغير السريع من جانب المتصفح عندما لا يتوفر إعداد البنية الكاملة.

لماذا تصغير جافا سكريبت

تعد حزم JavaScript عادةً أكبر مورد فردي على صفحة ويب حديثة. يؤدي التصغير بشكل روتيني إلى تقليل الحجم بنسبة 30-60% مقابل المصدر غير المصغر. عند دمجه مع gzip أو Brotli، يتقلص التخفيض إلى حد ما، لكن المجموعة لا تزال توفر بايتات قابلة للقياس - خاصة للمستخدمين ذوي الاتصالات البطيئة.

إن سرعة JavaScript تعني أيضًا وقتًا أسرع للتفاعل. يتم تنزيل البرامج النصية الصغيرة بشكل أسرع، وتحليلها بشكل أسرع، وتنفيذها بشكل أسرع. بالنسبة للمواقع التي تؤثر فيها TTI على معدلات الارتداد وتصنيف SEO، يعد التصغير أحد أرخص المكاسب المتاحة.

كيفية الاستخدام

الصق جافا سكريبت، واحصل على نسخة أصغر.

  1. إضافة مدخلات جافا سكريبت: الصق المصدر في منطقة الإدخال أو قم بإسقاط ملف .js. يقبل المصغر JavaScript الحديث (ES2015+) بما في ذلك وظائف الأسهم والقوالب الحرفية والفئات والوحدات النمطية.
  2. اختر الخيارات: تقوم الإعدادات الافتراضية بإزالة التعليقات وطي المسافات البيضاء. إعادة تسمية المتغير المحلي هي عملية محافظة؛ تمكين إعادة تسمية أكثر قوة إذا كنت بحاجة إلى الحد الأقصى من الضغط.
  3. تصغير: يقوم المصغر بتوزيع المصدر وإزالة المسافات البيضاء والتعليقات وإصدار مخرجات مضغوطة. تنتج أخطاء بناء الجملة في المصدر رسائل خطأ واضحة.
  4. استخدم الإخراج: استبدل مصدر البرنامج النصي الخاص بك في الإنتاج. للحصول على التحسين الكامل، قم بالاقتران مع أداة تجميع تتعامل مع اهتزاز الأشجار وإزالة التعليمات البرمجية الميتة.

حالات الاستخدام الشائعة

التفاصيل الفنية

يقوم المصغر بترميز JavaScript باستخدام محلل يحترم بناء جملة ECMAScript. تتم إزالة التعليقات (المكونة من سطر واحد ومتعددة الأسطر) باستثناء تعليقات الترخيص المميزة بـ /*! بادئة. يتم طي المسافة البيضاء باستثناء ما هو مطلوب من الناحية النحوية (بين المعرفات، بعد الكلمات الرئيسية).

تؤدي إعادة تسمية المتغير المحافظ إلى تقصير المتغيرات المحلية في نطاقات مباشرة. لا تتم إعادة تسمية الأسماء العالمية والصادرات والمستوردة - وهذا من شأنه أن يؤدي إلى كسر المراجع الخارجية. لإعادة التسمية العميقة، استخدم Terser أو esbuild مع التحليل المناسب للوحدة النمطية.

حالات الحافة: الإدراج التلقائي للفاصلة المنقوطة (ASI) يعني أن أداة التصغير يجب أن تحافظ على الأسطر الجديدة في بعض السياقات لتجنب تغيير سلوك البرنامج. يتم الاحتفاظ بالقيم الحرفية للقالب، والقيم الحرفية للتعبيرات العادية، وJSX (إذا كانت المدخلات تتضمن ذلك) تمامًا لأن محتوياتها قد لا تكون آمنة للضغط.

أفضل الممارسات

الأسئلة الشائعة

هل يغير التصغير كيفية عمل الكود الخاص بي؟
لا. يؤدي التصغير إلى إزالة المسافات البيضاء والتعليقات، مما لا يؤثر على التنفيذ. يقوم التقصير المتغير (mangling) بإعادة تسمية المتغيرات المحلية ولكنه يحافظ على السلوك. يتم الاحتفاظ بالمتغيرات العالمية والأسماء المصدرة سليمة.
هل يجب أن أقلل في التطوير أو الإنتاج؟
استخدم فقط الكود المصغر في الإنتاج. أثناء التطوير، احتفظ بالكود الأصلي القابل للقراءة. تتعامل معظم أدوات البناء (Webpack وVite وesbuild) مع التصغير تلقائيًا كجزء من عملية بناء الإنتاج.
ما الفرق بين التصغير والتشويش؟
يؤدي التصغير إلى تقليل الحجم مع الحفاظ على الكود قابلاً للقراءة وظيفيًا إذا تم تنسيقه. يؤدي التشويش إلى صعوبة فهم التعليمات البرمجية عمدًا (تشفير السلسلة، وتسطيح تدفق التحكم). تركز هذه الأداة على تقليل الحجم وليس التشويش.
ما هو حجم التخفيض الذي يجب أن أتوقعه؟
عادة 30-60% قبل gzip. تشهد التعليمات البرمجية التي تم التعليق عليها جيدًا والتي تحتوي على أسماء متغيرة طويلة أكبر التخفيضات. عند دمجها مع ضغط gzip، غالبًا ما تكون ملفات JavaScript أصغر بنسبة 80-90% من المصدر الأصلي.
هل تم تحميل الكود الخاص بي إلى الخادم؟
لا، يعمل المصغر في متصفحك.
كم سيكون حجم جافا سكريبت الخاص بي أصغر؟
عادةً ما يكون التخفيض بنسبة 30-60%. الكود المتغير الثقيل ذو المعرفات الطويلة يضغط أكثر؛ يتم ضغط التعليمات البرمجية ذات التعبير الثقيل بشكل أقل.
هل يجب أن أقوم بالتصغير باليد؟
أبداً. الحفاظ على جافا سكريبت قابل للقراءة في المصدر. قم بتشغيل التصغير كخطوة بناء أو كجزء من النشر.
هل يعمل على TypeScript؟
يجب ترجمة TypeScript إلى JavaScript أولاً باستخدام tsc أو esbuild. بمجرد تجميعها، يمكن تصغير JavaScript الناتج.