مقارنة بين أدوات تصغير جافا سكريبت عبر الإنترنت وUglifyJS وTerser وGoogle Closure Compiler| تصغير جافا سكريبت عبر الإنترنت | UglifyJS | أكثر إيجازًا | مُجمِّع إغلاق جوجل |
|---|
| محرك تصغير البيانات: تصف صفحة DigitalOcean نفسها بأنها واجهة ويب تفاعلية لـ Terser، لذا فإن الناتج هو ما ينتجه Terser وليس خوارزمية منفصلة. | محرك تصغير البيانات: UglifyJS هو محلل ومُشوِّه ومُضغط لملفات جافا سكريبت. تم تطوير Terser من نسخته ES6+ (uglify-es)، ويحتفظ كلاهما بنفس واجهة برمجة التطبيقات (API) وواجهة سطر الأوامر تقريبًا. | محرك تصغير البيانات: Terser هو المحرك الذي تغلفه صفحة DigitalOcean. عند استخدامه مباشرةً، فإنه يعرض خيارات الضغط، والتشويه، وخصائص التشويه، والتنسيق، والتحليل. | محرك تصغير البيانات: Closure Compiler هو مُترجم منفصل قائم على لغة جافا. بالإضافة إلى تقصير الكود، فإنه يتحقق من بناء الجملة، ومراجع المتغيرات وأنواعها، ويحذر من الأخطاء الشائعة في جافا سكريبت. |
| دعم اللغة: تم وصف Terser، المحرك الذي يقف وراء الصفحة، بأنه مجموعة أدوات لبرمجة ES6+. | دعم اللغة: يُشير المشروع إلى دعمه للغة جافا سكريبت ومعظم ميزات لغة ECMAScript. وللحصول على ميزات أكثر تخصصًا، يُنصح بتحويل الكود أولًا باستخدام أداة مثل Babel. | دعم اللغة: يُوصف Terser بأنه مجموعة أدوات لـ ES6+. ويمكن ضبط خيار ecma الخاص به على 2015 أو أعلى للسماح بتحويلات الإخراج لـ ES6+. | دعم اللغة: يمكن تعريف معلومات النوع باستخدام التعليقات التوضيحية، والتي يستخدمها المترجم في عمليات التحقق الخاصة به. |
| مستويات التحسين: لا يتضمن نص الصفحة قائمة بالإعدادات الفردية. | مستويات التحسين: يتم ضبط السلوك من خلال خيارات الضغط والتشويه، عبر سطر الأوامر أو من خلال واجهة برمجة التطبيقات minify(). | مستويات التحسين: يتم ضبط السلوك من خلال خيارات الضغط والتشويه وخصائص التشويه والتنسيق. | مستويات التحسين: يقبل خيار --compilation_level الخيارات التالية: BUNDLE، WHITESPACE_ONLY، SIMPLE (الوضع الافتراضي)، وADVANCED. ويشير المشروع إلى أن المُصرّف يستفيد بشكلٍ أكبر من استلام جميع التعليمات البرمجية المصدرية دفعةً واحدة، مما يُفعّل الوضع ADVANCED، وأن الأوضاع الأخرى غير ADVANCED أصبحت مهملة. |
| التركيب والتشغيل الآلي: لا يتطلب تثبيتًا: يتم إدخال الكود في المتصفح. لا يوجد في الصفحة ما يشير إلى كيفية استخدامه في مسار البناء. | التركيب والتشغيل الآلي: يتم تثبيته باستخدام npm، بشكل عالمي لسطر الأوامر أو محليًا للاستخدام البرمجي، مع إصدار حديث من Node.js. | التركيب والتشغيل الآلي: يتم تثبيته باستخدام npm، عالميًا أو محليًا. توفر واجهة برمجة التطبيقات (API) دالة تصغير غير متزامنة (async) ودالة تصغير متزامنة (minify_sync). | التركيب والتشغيل الآلي: متوفر من خلال npm (حزم يتم صيانتها بواسطة طرف ثالث، وليس جوجل)، كإصدار Maven مُجمّع مسبقًا، أو مبني من المصدر، والذي يحتاج إلى Java 21 أو أحدث، وNode.js، وGit، وBazelisk. |
| خرائط المصدر: يتم تمكين خرائط المصدر باستخدام --source-map في سطر الأوامر أو خيار sourceMap في minify()، بما في ذلك التركيب مع خرائط المصدر المدخلة. | خرائط المصدر: يتم تفعيل خرائط المصدر باستخدام --source-map أو sourceMap. تشمل الخيارات اسم الملف، وعنوان URL، والجذر، والمحتوى، وتضمين المصادر، وتعيد واجهة برمجة التطبيقات الخريطة في result.map. | |