Loading…

حول مصغر جافا سكريبت أونلاين

اشحن حزم جافا سكريبت أصغر في ثوانٍ ⚡. هذا المصغر أونلاين يحلل JS الخاص بك إلى AST، يزيل التعليقات والمسافات البيضاء غير الضرورية، ويطبق عمليات ضغط آمنة. مثالي لتصغير النصوص البرمجية المستقلة، الإصلاحات السريعة، مقاطع مدير العلامات، والفحوصات قبل النشر. كل شيء يعمل 100% في جانب العميل – كودك لا يغادر المتصفح أبدًا.

الميزات الرئيسية لمصغر جافا سكريبت هذا

  • ضغط JS فوري داخل المتصفح (لا توجد رفع ملفات إلى الخوادم)
  • إزالة التعليقات وطي المسافات البيضاء غير الضرورية/أسطر جديدة
  • ضغط قائم على AST مشابه لـ Terser (طي الثوابت، إزالة الكود الميت تحت ظروف آمنة)
  • تشويه المعرفات الاختياري وإعدادات متقدمة عبر API أو تكامل البناء
  • يعمل مع جافا سكريبت الحديثة (ES2015+)، النصوص الكلاسيكية ومخرجات الوحدات البسيطة
  • نسخ أو تحميل جافا سكريبت المصغرة بنقرة واحدة
  • يستخدم نفس المكون الأساسي لمصمم جافا سكريبت: التبديل بين المخرجات المنسقة والمصغرة بإجراء واحد
  • معالجة 100% على جانب العميل لأقصى درجات الخصوصية

🛠️ كيفية تصغير جافا سكريبت for javascript-minifier

1

الصق أو ارفع JS الخاص بك

أسقط ملف .js/.mjs في المحرر أو الصق جافا سكريبت مباشرة. الأداة مثالية للنصوص الفردية وملفات الأدوات والحزم الصغيرة.

2

اختر وضع التصغير

استخدم نفس المكون كمصمم جافا سكريبت: انتقل إلى إجراء التصغير للحصول على مخرجات مضغوطة بدلاً من الكود المنسق.

3

تشغيل المصغر

يتم تحليل الكود الخاص بك إلى AST، وإزالة التعليقات والمسافات البيضاء الإضافية، وتطبيق عمليات الضغط الآمنة لتقليل حجم الحزمة.

4

انسخ أو حمّل النتيجة

انسخ جافا سكريبت المصغرة من محرر المخرجات أو حمّلها كملف .min.js وضمّنها في HTML أو CDN أو مخرجات البناء الخاصة بك.

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

التحولات الأساسية (الإعدادات الافتراضية الآمنة)

تم تصميم الإعدادات الافتراضية المحافظة للحفاظ على سلوك وقت التشغيل مع تقليل حجم الكود بشكل كبير.

العمليةمطبقملاحظات
إزالة تعليقات الأسطر والكتليمكن الاحتفاظ بتعليقات الترخيص (/*! ... */) عبر التكوين/واجهة برمجة التطبيقات
طي المسافات البيضاء والأسطر الجديدةتطبيع المسافات البيضاء حيث يكون ذلك آمنًا دلاليًا؛ مع الحفاظ على محتويات النصوص والتعبيرات النمطية
طي الثوابت والإدراج البسيطفقط عندما تكون النتيجة مكافئة بشكل مؤكد
إزالة الكود غير المستخدميزيل الفروع التي لا يمكن الوصول إليها بعد نشر الثوابت
تشويه المعرفات✅ اختيارييقصر أسماء المتغيرات والدوال؛ قابل للتكوين عبر الخيارات المتقدمة/واجهة برمجة التطبيقات
إسقاط مساعدات التصحيح (console/debugger)✅ اختيارييمكن تمكينه عندما لا تعتمد على إخراج الكونسول في الإنتاج

ضوابط السلامة والتوافق

تساعد الخيارات المتقدمة (المعروضة بشكل رئيسي عبر أدوات البناء/واجهة برمجة التطبيقات) في ضبط مدى عدوانية عملية التصغير.

الخيارالافتراضيالشرح
الهدف ECMA2020يتحكم في بناء جملة الإخراج وبعض قواعد الضغط
الوحدة مقابل السكريبتسكريبتتمكين تحسينات الوحدة/المستوى الأعلى لحزم ESM
keep_fnames / keep_classnamesfalseالحفاظ على الأسماء لتحسين تتبع المكدس أو أطر عمل DI
safari10 / legacy quirksoffتمكين فقط عند استهداف محركات قديمة محددة
toplevelfalseيسمح بإسقاط الربط غير المستخدم على المستوى الأعلى لهز الشجرة المتقدم

تخفيض الحجم النموذجي

تختلف المدخرات اعتمادًا على التنسيق الأصلي، وكثافة التعليقات، وكمية الكود غير المستخدم الموجود.

نمط الإدخالالضغط فقطضغط + تشويش (عدواني)
معلق عليه ومسافات بشكل كبير35%–55%50%–70%
كود تطبيق منسق بشكل معتدل20%–35%35%–55%
كود مضغوط بالفعل5%–15%10%–25%

بدائل سطر الأوامر لبناء الإنتاج

للتطبيقات الكاملة ومشاريع الملفات المتعددة، ادمج التصغير في خط أنابيب CI/CD الخاص بك.

Node.js

Terser (الحالة الشائعة)

npx terser src/app.js -o dist/app.min.js -c ecma=2020,passes=2 -m

تمريرتان للضغط بالإضافة إلى تشويش المعرفات لتقليل الحجم بقوة.

Terser مع الأسماء المحجوزة و drop_console

npx terser src/app.js -o dist/app.min.js -c passes=2,drop_console=true -m reserved=["React","ReactDOM"] --keep-fnames

احمِ المتغيرات العامة المهمة، أزل استدعاءات الكونسول، واحتفظ بأسماء الدوال لتصحيح الأخطاء.

Linux/macOS/Windows

esbuild (سريع جداً)

npx esbuild src/app.js --minify --target=es2018 --outfile=dist/app.min.js

حزّم وصغّر في خطوة واحدة سريعة للغاية.

SWC (مبني على Rust)

npx swc src -d dist --minify

حوّل وصغّر باستخدام محرك Rust عالي الأداء.

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

أداء الويب والمؤشرات الأساسية للويب

  • تقليل حجم نقل JavaScript لتحقيق LCP و TTI أسرع
  • قص التعليقات وأوامر التسجيل قبل النشر
  • تصغير الحزم من جانب العميل قبل ضغط gzip/brotli
/* تعليق للبناء فقط سيتم إزالته في المخرجات المصغرة */

CI/CD وأتمتة الإصدار

  • صغّر JS كخطوة أخيرة في خط أنابيب البناء الخاص بك
  • جهز حزم صغيرة صديقة للذاكرة المؤقتة لشبكات CDN
  • أنشئ أصول جاهزة للإنتاج بجانب مصغرات HTML/CSS

الأدوات المدمجة، التضمينات والتجارب

  • شحن مقاطع مضغوطة عبر مديري العلامات
  • تضمين عناصر واجهة مستخدم مصغرة في صفحات الطرف الثالث
  • تجربة استراتيجيات ضغط مختلفة على النصوص البرمجية الحرجة

❓ Frequently Asked Questions

هل سيغير تصغير JavaScript من طريقة تشغيل الكود الخاص بي؟

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

هل تتعامل هذه الأداة مع TypeScript أو JSX مباشرة؟

المصغر يستهدف JavaScript العادي. بالنسبة لـ TypeScript أو JSX، قم أولاً بتحويلها إلى JavaScript (عبر SWC أو esbuild أو Babel) ثم صغر كود JS الناتج.

هل يتم رفع JavaScript الخاص بي إلى خادم؟

لا. تتم جميع العمليات بالكامل في متصفحك باستخدام كود جانب العميل. لا يتم إرسال الكود المصدري إلى أي خادم بعيد، مما يجعله مثاليًا للنصوص البرمجية الخاصة/المملوكة.

ما هو الحجم الأقصى لملف JavaScript الخاص بي؟

لتحسين تجربة المستخدم في المتصفح، نوصي بملفات تصل إلى حوالي 1 ميغابايت في هذه الأداة عبر الإنترنت. الحزم الأكبر وعمليات التصغير المتكررة يتم التعامل معها بشكل أفضل من خلال أدوات CLI المدمجة في خطوة البناء الخاصة بك.

ما الفرق بين التنسيق والتصغير؟

التنسيق يجعل الكود أكثر قابلية للقراءة (مسافات بادئة وتباعد متناسق). التصغير يجعل الكود أصغر (إزالة المسافات البيضاء والتعليقات والكود الزائد). تشارك هذه الأداة نفس المكون الأساسي لكليهما: استخدم إجراء التنسيق للقراءة وإجراء التصغير لحزم الإنتاج.

Pro Tips

Best Practice

عرف NODE_ENV=production (أو ما يعادلها) في أداة الحزم الخاصة بك لفتح إمكانية إزالة الكود غير المستخدم في العديد من المكتبات.

Best Practice

احتفظ بالمصادر غير المصغرة (وللتطبيقات الكبيرة، خرائط المصدر) في نظام التحكم بالإصدار، وقدم فقط الأصول المصغرة في بيئة الإنتاج.

Best Practice

استخدم الأسماء المحجوزة عند التشويش لحماية واجهات برمجة التطبيقات العامة المعلقة على window أو globalThis.

Best Practice

اجمع التصغير مع gzip أو brotli على مستوى CDN أو الخادم لتحقيق توفير مضاعف في الحجم.

Additional Resources

Other Tools